OSDN Git Service

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