OSDN Git Service

update speech and balloon
[pettanr/pettanr.git] / spec / models / speech_balloon_spec.rb
index da0a1d8..746bfbd 100644 (file)
@@ -1,5 +1,123 @@
+# -*- encoding: utf-8 -*-
 require 'spec_helper'
+#フキダシ
 
 describe SpeechBalloon do
-  pending "add some examples to (or delete) #{__FILE__}"
+  before do
+    Factory :admin
+    @user = Factory( :user_yas)
+    @author = @user.author
+    @artist = Factory :artist_yas, :author_id => @author.id\r
+    @license = Factory :license
+    
+    @panel = Factory :panel
+    @speech_balloon_template = Factory :speech_balloon_template
+  end\r
+  
+  describe '検証に於いて' do
+    before do\r
+    end
+    
+    it 'オーソドックスなデータなら通る' do
+      @sb = Factory.build :speech_balloon, :panel_id => @panel.id, :speech_balloon_template_id => @speech_balloon_template.id
+      @sb.should be_valid
+    end
+    
+    context 'panel_idを検証するとき' do
+      before do
+        @sb = Factory.build :speech_balloon, :panel_id => @panel.id, :speech_balloon_template_id => @speech_balloon_template.id
+      end
+      it 'テストデータの確認' do
+        @sb.panel_id = @panel.id
+        @sb.should be_valid
+      end
+      it 'nullなら失敗する' do
+        @sb.panel_id = nil
+        @sb.should_not be_valid
+      end
+      it '数値でなければ失敗する' do
+        @sb.panel_id = 'a'
+        @sb.should_not be_valid
+      end
+      it '存在するコマでなければ失敗する' do
+        @sb.panel_id = 0
+        @sb.should_not be_valid
+      end
+    end
+    context 'speech_balloon_template_idを検証するとき' do
+      before do
+        @sb = Factory.build :speech_balloon, :panel_id => @panel.id, :speech_balloon_template_id => @speech_balloon_template.id
+      end
+      it 'テストデータの確認' do
+        @sb.speech_balloon_template_id = @speech_balloon_template.id
+        @sb.should be_valid
+      end
+      it 'nullなら失敗する' do
+        @sb.speech_balloon_template_id = nil
+        @sb.should_not be_valid
+      end
+      it '数値でなければ失敗する' do
+        @sb.speech_balloon_template_id = 'a'
+        @sb.should_not be_valid
+      end
+      it '存在するフキダシテンプレートでなければ失敗する' do
+        @sb.speech_balloon_template_id = 0
+        @sb.should_not be_valid
+      end
+    end
+    context 'classnameを検証するとき' do
+      before do
+        @sb = Factory.build :speech_balloon, :panel_id => @panel.id, :speech_balloon_template_id => @speech_balloon_template.id
+      end
+      it 'テストデータの確認' do
+        @sb.classname = 'abcdefghi0abcdefghi0abcdefghi0abcdefghi0abcdefghi0'
+        @sb.should be_valid
+      end
+      it 'nullなら失敗する' do
+        @sb.classname = ''
+        @sb.should_not be_valid
+      end
+      it '51文字以上なら失敗する' do
+        @sb.classname = 'a'*51
+        @sb.should_not be_valid
+      end
+    end
+    context 'tを検証するとき' do
+      before do
+        @sb = Factory.build :speech_balloon, :panel_id => @panel.id, :speech_balloon_template_id => @speech_balloon_template.id
+      end
+      it 'テストデータの確認' do
+        @sb.t = 0
+        @sb.should be_valid
+      end
+      it 'nullなら失敗する' do
+        @sb.t = nil
+        @sb.should_not be_valid
+      end
+      it '数値でなければ失敗する' do
+        @sb.t = 'a'
+        @sb.should_not be_valid
+      end
+      it '負なら失敗する' do
+        @sb.t = -1
+        @sb.should_not be_valid
+      end
+    end
+    context 'settingsを検証するとき' do
+      before do
+        @sb = Factory.build :speech_balloon, :panel_id => @panel.id, :speech_balloon_template_id => @speech_balloon_template.id
+      end
+      it 'テストデータの確認' do
+        @sb.settings = '{}'
+        @sb.should be_valid
+      end
+    end
+  end
+  
+  describe 'データ補充に於いて' do
+    before do
+    end
+    
+  end
+  \r
 end