OSDN Git Service

t#29400:update:itr2
[pettanr/pettanr.git] / spec / models / speech_balloon_spec.rb
1 # -*- encoding: utf-8 -*-
2 require 'spec_helper'
3 #フキダシ
4
5 describe SpeechBalloon do
6   before do
7     FactoryGirl.create :admin
8     @user = FactoryGirl.create( :user_yas)
9     @author = @user.author
10     @artist = FactoryGirl.create :artist_yas, :author_id => @author.id
11     
12     @panel = FactoryGirl.create :panel, :author_id => @author.id
13     @speech_balloon_template = FactoryGirl.create :speech_balloon_template
14   end
15   
16   describe '検証に於いて' do
17     before do
18       @sb = FactoryGirl.build :speech_balloon, :panel_id => @panel.id, :speech_balloon_template_id => @speech_balloon_template.id
19     end
20     
21     context 'オーソドックスなデータのとき' do
22       it '下限データが通る' do
23         @sb.classname = 'a'
24         @sb.z = 1
25         @sb.t = 0
26         @sb.should be_valid
27       end
28       it '上限データが通る' do
29         @sb.classname = 'a'*50
30         @sb.z = 99999
31         @sb.t = 99999
32         @sb.should be_valid
33       end
34     end
35     
36     context 'panel_idを検証するとき' do
37       #ネストの保存はnilを許可しなければならないので数値チェックだけ
38       it '数値でなければ失敗する' do
39         @sb.panel_id = 'a'
40         @sb.should_not be_valid
41       end
42     end
43     context 'speech_balloon_template_idを検証するとき' do
44       it 'nullなら失敗する' do
45         @sb.speech_balloon_template_id = nil
46         @sb.should_not be_valid
47       end
48       it '数値でなければ失敗する' do
49         @sb.speech_balloon_template_id = 'a'
50         @sb.should_not be_valid
51       end
52       it '存在するフキダシテンプレートでなければ失敗する' do
53         @sb.speech_balloon_template_id = 0
54         @sb.should_not be_valid
55       end
56     end
57     context 'classnameを検証するとき' do
58       it 'nullなら失敗する' do
59         @sb.classname = ''
60         @sb.should_not be_valid
61       end
62       it '51文字以上なら失敗する' do
63         @sb.classname = 'a'*51
64         @sb.should_not be_valid
65       end
66     end
67     context 'tを検証するとき' do
68       it 'nullなら失敗する' do
69         @sb.t = nil
70         @sb.should_not be_valid
71       end
72       it '数値でなければ失敗する' do
73         @sb.t = 'a'
74         @sb.should_not be_valid
75       end
76       it '負なら失敗する' do
77         @sb.t = -1
78         @sb.should_not be_valid
79       end
80     end
81     context 'settingsを検証するとき' do
82     end
83   end
84   
85 end