OSDN Git Service

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