OSDN Git Service

t#29050:fix edit permissin
[pettanr/pettanr.git] / spec / models / panel_picture_spec.rb
1 # -*- encoding: utf-8 -*-
2 require 'spec_helper'
3 #コマ絵
4 describe PanelPicture do
5   before do
6     Factory :admin
7     @user = Factory( :user_yas)
8     @author = @user.author
9     @artist = Factory :artist_yas, :author_id => @author.id
10     @license = Factory :license
11     @op = Factory :original_picture, :artist_id => @artist.id, :license_id => @license.id
12     @rp = Factory :resource_picture, :artist_id => @artist.id, :license_id => @license.id, :original_picture_id => @op.id
13     @panel = Factory :panel, :author_id => @author.id
14   end
15   
16   describe '検証に於いて' do
17     before do
18     end
19     it 'オーソドックスなデータなら通る' do
20       @pp = Factory.build :panel_picture, :panel_id => @panel.id, :resource_picture_id => @rp.id
21       @pp.save!
22       @pp.should be_valid
23     end
24     
25     context 'panel_idを検証するとき' do
26       before do
27         @pp = Factory.build :panel_picture, :panel_id => @panel.id, :resource_picture_id => @rp.id
28       end
29       it 'テストデータの確認' do
30         @pp.panel_id = @panel.id
31         @pp.should be_valid
32       end
33       it '数値でなければ失敗する' do
34         @pp.panel_id = 'a'
35         @pp.should_not be_valid
36       end
37     end
38     context 'resource_picture_idを検証するとき' do
39       before do
40         @pp = Factory.build :panel_picture, :panel_id => @panel.id, :resource_picture_id => @rp.id
41       end
42       it 'テストデータの確認' do
43         @pp.resource_picture_id = @rp.id
44         @pp.should be_valid
45       end
46       it 'nullなら失敗する' do
47         @pp.resource_picture_id = nil
48         @pp.should_not be_valid
49       end
50       it '数値でなければ失敗する' do
51         @pp.resource_picture_id = 'a'
52         @pp.should_not be_valid
53       end
54       it '存在するフキダシテンプレートでなければ失敗する' do
55         @pp.resource_picture_id = 0
56         @pp.should_not be_valid
57       end
58     end
59     context 'linkを検証するとき' do
60       before do
61         @pp = Factory.build :panel_picture, :panel_id => @panel.id, :resource_picture_id => @rp.id
62       end
63       it 'テストデータの確認' do
64         @pp.link = 'abcdefghi0abcdefghi0abcdefghi0abcdefghi0abcdefghi0'*4
65         @pp.should be_valid
66       end
67       it 'nullでも通る' do
68         @pp.link = ''
69         @pp.should be_valid
70       end
71       it '201文字以上なら失敗する' do
72         @pp.link = 'a'*201
73         @pp.should_not be_valid
74       end
75     end
76     context 'xを検証するとき' do
77       before do
78         @pp = Factory.build :panel_picture, :panel_id => @panel.id, :resource_picture_id => @rp.id
79       end
80       it 'テストデータの確認' do
81         @pp.x = '1'
82         @pp.should be_valid
83       end
84       it 'nullなら失敗する' do
85         @pp.x = nil
86         @pp.should_not be_valid
87       end
88       it '数値でなければ失敗する' do
89         @pp.x = 'a'
90         @pp.should_not be_valid
91       end
92       it '0なら通る' do
93         @pp.x = '0'
94         @pp.should be_valid
95       end
96       it '負でも通る' do
97         @pp.x = -1
98         @pp.should be_valid
99       end
100     end
101     context 'yを検証するとき' do
102       before do
103         @pp = Factory.build :panel_picture, :panel_id => @panel.id, :resource_picture_id => @rp.id
104       end
105       it 'テストデータの確認' do
106         @pp.y = '1'
107         @pp.should be_valid
108       end
109       it 'nullなら失敗する' do
110         @pp.y = nil
111         @pp.should_not be_valid
112       end
113       it '数値でなければ失敗する' do
114         @pp.y = 'a'
115         @pp.should_not be_valid
116       end
117       it '0なら通る' do
118         @pp.y = '0'
119         @pp.should be_valid
120       end
121       it '負でも通る' do
122         @pp.y = -1
123         @pp.should be_valid
124       end
125     end
126     context 'widthを検証するとき' do
127       before do
128         @pp = Factory.build :panel_picture, :panel_id => @panel.id, :resource_picture_id => @rp.id
129       end
130       it 'テストデータの確認' do
131         @pp.width = 1
132         @pp.should be_valid
133       end
134       it 'nullなら失敗する' do
135         @pp.width = nil
136         @pp.should_not be_valid
137       end
138       it '数値でなければ失敗する' do
139         @pp.width = 'a'
140         @pp.should_not be_valid
141       end
142       it '0なら失敗する' do
143         @pp.width = '0'
144         @pp.should_not be_valid
145       end
146       it '負でも通る' do
147         @pp.width = -1
148         @pp.should be_valid
149       end
150     end
151     context 'heightを検証するとき' do
152       before do
153         @pp = Factory.build :panel_picture, :panel_id => @panel.id, :resource_picture_id => @rp.id
154       end
155       it 'テストデータの確認' do
156         @pp.height = '1'
157         @pp.should be_valid
158       end
159       it 'nullなら失敗する' do
160         @pp.height = nil
161         @pp.should_not be_valid
162       end
163       it '数値でなければ失敗する' do
164         @pp.height = 'a'
165         @pp.should_not be_valid
166       end
167       it '0なら失敗する' do
168         @pp.height = '0'
169         @pp.should_not be_valid
170       end
171       it '負でも通る' do
172         @pp.height = -1
173         @pp.should be_valid
174       end
175     end
176     context 'zを検証するとき' do
177       before do
178         @pp = Factory.build :panel_picture, :panel_id => @panel.id, :resource_picture_id => @rp.id
179       end
180       it 'テストデータの確認' do
181         @pp.z = 1
182         @pp.should be_valid
183       end
184       it 'nullなら失敗する' do
185         @pp.z = nil
186         @pp.should_not be_valid
187       end
188       it '数値でなければ失敗する' do
189         @pp.z = 'a'
190         @pp.should_not be_valid
191       end
192       it '負なら失敗する' do
193         @pp.z = -1
194         @pp.should_not be_valid
195       end
196       it '負なら失敗する' do
197         @pp.z = 0
198         @pp.should_not be_valid
199       end
200     end
201     context 'tを検証するとき' do
202       before do
203         @pp = Factory.build :panel_picture, :panel_id => @panel.id, :resource_picture_id => @rp.id
204       end
205       it 'テストデータの確認' do
206         @pp.t = 0
207         @pp.should be_valid
208       end
209       it 'nullなら失敗する' do
210         @pp.t = nil
211         @pp.should_not be_valid
212       end
213       it '数値でなければ失敗する' do
214         @pp.t = 'a'
215         @pp.should_not be_valid
216       end
217       it '負なら失敗する' do
218         @pp.t = -1
219         @pp.should_not be_valid
220       end
221     end
222   end
223 end