X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=spec%2Fmodels%2Fground_color_spec.rb;h=f1020d04162ae6091794d126a1118bd529558095;hb=e25230e6f2fe934e47502621cf498640d58f429d;hp=6655af01a925273965952b4e2926042064c4cf74;hpb=e6ae2d4d0e9cec1828ef7e4bec617d7f925d8133;p=pettanr%2Fpettanr.git diff --git a/spec/models/ground_color_spec.rb b/spec/models/ground_color_spec.rb index 6655af01..f1020d04 100644 --- a/spec/models/ground_color_spec.rb +++ b/spec/models/ground_color_spec.rb @@ -4,6 +4,7 @@ require 'spec_helper' describe GroundColor do before do + SpeechBalloonTemplate.delete_all @admin = FactoryGirl.create :admin @user = FactoryGirl.create( :user_yas) @author = FactoryGirl.create :author, :user_id => @user.id @@ -28,12 +29,20 @@ describe GroundColor do context 'オーソドックスなデータのとき' do it '下限データが通る' do @gc.code = 0 + @gc.orientation = 0 + @gc.xy = 0 + @gc.wh = 0 @gc.z = 1 + @gc.t = 0 @gc.should be_valid end it '上限データが通る' do @gc.code = 99999 + @gc.orientation = 1 + @gc.xy = 100 + @gc.wh = 100 @gc.z = 99999 + @gc.t = 99999 @gc.should be_valid end end @@ -67,6 +76,52 @@ describe GroundColor do @gc.should_not be_valid end end + context 'orientationを検証するとき' do + it 'nullなら失敗する' do + @gc.orientation = nil + @gc.should_not be_valid + end + it '数値でなければ失敗する' do + @gc.orientation = 'a' + @gc.should_not be_valid + end + it '負なら失敗する' do + @gc.orientation = -1 + @gc.should_not be_valid + end + it '2以上なら失敗する' do + @gc.orientation = 2 + @gc.should_not be_valid + end + end + context 'xyを検証するとき' do + it 'nullでも通る' do + @gc.xy = nil + @gc.should be_valid + end + it '数値でなければ失敗する' do + @gc.xy = 'a' + @gc.should_not be_valid + end + it '負なら失敗する' do + @gc.xy = -1 + @gc.should_not be_valid + end + end + context 'whを検証するとき' do + it 'nullでも通る' do + @gc.wh = nil + @gc.should be_valid + end + it '数値でなければ失敗する' do + @gc.wh = 'a' + @gc.should_not be_valid + end + it '負なら失敗する' do + @gc.wh = -1 + @gc.should_not be_valid + end + end context 'zを検証するとき' do it 'nullなら失敗する' do @gc.z = nil @@ -80,11 +135,40 @@ describe GroundColor do @gc.z = -1 @gc.should_not be_valid end - it '負なら失敗する' do + it '0なら失敗する' do @gc.z = 0 @gc.should_not be_valid end end + context 'tを検証するとき' do + it 'nullなら失敗する' do + @gc.t = nil + @gc.should_not be_valid + end + it '数値でなければ失敗する' do + @gc.t = 'a' + @gc.should_not be_valid + end + it '負なら失敗する' do + @gc.t = -1 + @gc.should_not be_valid + end + end + end + + describe '文字コード検証に於いて' do + before do + @gc = FactoryGirl.build :ground_color, :panel_id => @panel.id + end + + context 'captionを検証するとき' do + it 'Shift JISなら失敗する' do + @gc.caption = "\x83G\x83r\x83]\x83D" + lambda{ + @gc.valid_encode + }.should raise_error(Pettanr::BadRequest) + end + end end describe 'デフォルト値補充に於いて' do @@ -95,9 +179,10 @@ describe GroundColor do end describe '上書き補充に於いて' do - it 'defined' do + it 'panel_idが設定されている' do @gc = FactoryGirl.build :ground_color, :panel_id => @panel.id - @gc.overwrite + @gc.overwrite @panel.id + @gc.panel_id.should eq @panel.id end end @@ -447,9 +532,9 @@ describe GroundColor do @p = FactoryGirl.create :picture, :original_picture_id => @op.id, :license_id => @license.id, :artist_id => @artist.id @rp = FactoryGirl.create :resource_picture, :artist_id => @artist.id, :license_id => @license.id, :original_picture_id => @op.id, :picture_id => @p.id @sbt = FactoryGirl.create :speech_balloon_template - @comic = FactoryGirl.create :comic, :author_id => @author.id, :visible => 1 + @scroll = FactoryGirl.create :scroll, :author_id => @author.id, :visible => 1 @panel = FactoryGirl.create :panel, :author_id => @author.id, :publish => 1 - @story = FactoryGirl.create :story, :author_id => @author.id, :comic_id => @comic.id, :panel_id => @panel.id + @scroll_panel = FactoryGirl.create :scroll_panel, :author_id => @author.id, :scroll_id => @scroll.id, :panel_id => @panel.id @gc = FactoryGirl.create :ground_color, :panel_id => @panel.id end it 'コマを含んでいる' do