OSDN Git Service

t#30200:update i18n devise
[pettanr/pettanr.git] / spec / models / speech_balloon_spec.rb
index da0a1d8..395c77e 100644 (file)
@@ -1,5 +1,85 @@
+# -*- encoding: utf-8 -*-
 require 'spec_helper'
+#フキダシ
 
 describe SpeechBalloon do
-  pending "add some examples to (or delete) #{__FILE__}"
+  before do
+    @admin = FactoryGirl.create :admin
+    @user = FactoryGirl.create( :user_yas)
+    @author = FactoryGirl.create :author, :user_id => @user.id
+    @artist = FactoryGirl.create :artist_yas, :author_id => @author.id
+    
+    @panel = FactoryGirl.create :panel, :author_id => @author.id
+    @speech_balloon_template = FactoryGirl.create :speech_balloon_template
+  end
+  
+  describe '検証に於いて' do
+    before do
+      @sb = FactoryGirl.build :speech_balloon, :panel_id => @panel.id, :speech_balloon_template_id => @speech_balloon_template.id
+    end
+    
+    context 'オーソドックスなデータのとき' do
+      it '下限データが通る' do
+        @sb.classname = 'a'
+        @sb.z = 1
+        @sb.t = 0
+        @sb.should be_valid
+      end
+      it '上限データが通る' do
+        @sb.classname = 'a'*50
+        @sb.z = 99999
+        @sb.t = 99999
+        @sb.should be_valid
+      end
+    end
+    
+    context 'panel_idを検証するとき' do
+      #ネストの保存はnilを許可しなければならないので数値チェックだけ
+      it '数値でなければ失敗する' do
+        @sb.panel_id = 'a'
+        @sb.should_not be_valid
+      end
+    end
+    context 'speech_balloon_template_idを検証するとき' do
+      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
+      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
+      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
+    end
+  end
+  
 end