OSDN Git Service

t#32313:add sheet copy
[pettanr/pettanr.git] / spec / models / balloon_spec.rb
index 20dd184..a7f8a34 100644 (file)
@@ -3,6 +3,7 @@ require 'spec_helper'
 #フキダシ枠\r
 describe Balloon do\r
   before do\r
+    SpeechBalloonTemplate.delete_all\r
     @admin = FactoryGirl.create :admin\r
     @user = FactoryGirl.create( :user_yas)\r
     @author = FactoryGirl.create :author, :user_id => @user.id\r
@@ -14,6 +15,7 @@ describe Balloon do
     @lg = FactoryGirl.create :license_group\r
     @license = FactoryGirl.create :license, :license_group_id => @lg.id, :system_picture_id => @sp.id\r
     \r
+    SpeechBalloonTemplate.delete_all\r
     @speech_balloon_template = FactoryGirl.create :speech_balloon_template, "name" => "circle@pettan.com", "classname" => "CircleSpeechBalloon", "caption" => "cc",  "system_picture_id" => @sp.id, "settings" => '{}'\r
     @writing_format = FactoryGirl.create :writing_format\r
     @panel = FactoryGirl.create :panel, :author_id => @author.id\r
@@ -347,20 +349,51 @@ describe Balloon do
         FactoryGirl.attributes_for(:speech, :writing_format_id => @writing_format.id)\r
       )\r
       nsb.build_balloon(\r
-        FactoryGirl.attributes_for(:balloon, :system_picture_id => @sp.id)\r
+        FactoryGirl.attributes_for(:balloon, :system_picture_id => @sp.id, :updated_at => Time.now + 100)\r
       )\r
       nsb.boost\r
       nsb.save!\r
-      npl = FactoryGirl.create :balloon, :speech_balloon_id => nsb.id, :updated_at => Time.now + 100\r
       pl = Balloon.list\r
       pl.should eq [@balloon]\r
     end\r
     context 'DBに5件あって1ページの件数を2件に変えたとして' do\r
       before do\r
-        @balloon2 = FactoryGirl.create :balloon, :speech_balloon_id => @sb.id, :updated_at => Time.now + 100\r
-        @balloon3 = FactoryGirl.create :balloon, :speech_balloon_id => @sb.id, :updated_at => Time.now + 200\r
-        @balloon4 = FactoryGirl.create :balloon, :speech_balloon_id => @sb.id, :updated_at => Time.now + 300\r
-        @balloon5 = FactoryGirl.create :balloon, :speech_balloon_id => @sb.id, :updated_at => Time.now + 400\r
+        @sb2 = FactoryGirl.build :speech_balloon, :panel_id => @panel.id, :speech_balloon_template_id => @speech_balloon_template.id\r
+        @speech2 = @sb2.build_speech(\r
+          FactoryGirl.attributes_for(:speech, :writing_format_id => @writing_format.id)\r
+        )\r
+        @balloon2 = @sb2.build_balloon(\r
+          FactoryGirl.attributes_for(:balloon, :system_picture_id => @sp.id, :updated_at => Time.now + 100)\r
+        )\r
+        @sb2.boost\r
+        @sb2.save!\r
+        @sb3 = FactoryGirl.build :speech_balloon, :panel_id => @panel.id, :speech_balloon_template_id => @speech_balloon_template.id\r
+        @speech3 = @sb3.build_speech(\r
+          FactoryGirl.attributes_for(:speech, :writing_format_id => @writing_format.id)\r
+        )\r
+        @balloon3 = @sb3.build_balloon(\r
+          FactoryGirl.attributes_for(:balloon, :system_picture_id => @sp.id, :updated_at => Time.now + 200)\r
+        )\r
+        @sb3.boost\r
+        @sb3.save!\r
+        @sb4 = FactoryGirl.build :speech_balloon, :panel_id => @panel.id, :speech_balloon_template_id => @speech_balloon_template.id\r
+        @speech4 = @sb4.build_speech(\r
+          FactoryGirl.attributes_for(:speech, :writing_format_id => @writing_format.id)\r
+        )\r
+        @balloon4 = @sb4.build_balloon(\r
+          FactoryGirl.attributes_for(:balloon, :system_picture_id => @sp.id, :updated_at => Time.now + 300)\r
+        )\r
+        @sb4.boost\r
+        @sb4.save!\r
+        @sb5 = FactoryGirl.build :speech_balloon, :panel_id => @panel.id, :speech_balloon_template_id => @speech_balloon_template.id\r
+        @speech5 = @sb5.build_speech(\r
+          FactoryGirl.attributes_for(:speech, :writing_format_id => @writing_format.id)\r
+        )\r
+        @balloon5 = @sb5.build_balloon(\r
+          FactoryGirl.attributes_for(:balloon, :system_picture_id => @sp.id, :updated_at => Time.now + 400)\r
+        )\r
+        @sb5.boost\r
+        @sb5.save!\r
         Balloon.stub(:default_page_size).and_return(2)\r
       end\r
       it '通常は2件を返す' do\r
@@ -383,10 +416,42 @@ describe Balloon do
     end\r
     context 'DBに5件あって1ページの件数を0件に変えたとして' do\r
       before do\r
-        @balloon2 = FactoryGirl.create :balloon, :speech_balloon_id => @sb.id, :updated_at => Time.now + 100\r
-        @balloon3 = FactoryGirl.create :balloon, :speech_balloon_id => @sb.id, :updated_at => Time.now + 200\r
-        @balloon4 = FactoryGirl.create :balloon, :speech_balloon_id => @sb.id, :updated_at => Time.now + 300\r
-        @balloon5 = FactoryGirl.create :balloon, :speech_balloon_id => @sb.id, :updated_at => Time.now + 400\r
+        @sb2 = FactoryGirl.build :speech_balloon, :panel_id => @panel.id, :speech_balloon_template_id => @speech_balloon_template.id\r
+        @speech2 = @sb2.build_speech(\r
+          FactoryGirl.attributes_for(:speech, :writing_format_id => @writing_format.id)\r
+        )\r
+        @balloon2 = @sb2.build_balloon(\r
+          FactoryGirl.attributes_for(:balloon, :system_picture_id => @sp.id, :updated_at => Time.now + 100)\r
+        )\r
+        @sb2.boost\r
+        @sb2.save!\r
+        @sb3 = FactoryGirl.build :speech_balloon, :panel_id => @panel.id, :speech_balloon_template_id => @speech_balloon_template.id\r
+        @speech3 = @sb3.build_speech(\r
+          FactoryGirl.attributes_for(:speech, :writing_format_id => @writing_format.id)\r
+        )\r
+        @balloon3 = @sb3.build_balloon(\r
+          FactoryGirl.attributes_for(:balloon, :system_picture_id => @sp.id, :updated_at => Time.now + 200)\r
+        )\r
+        @sb3.boost\r
+        @sb3.save!\r
+        @sb4 = FactoryGirl.build :speech_balloon, :panel_id => @panel.id, :speech_balloon_template_id => @speech_balloon_template.id\r
+        @speech4 = @sb4.build_speech(\r
+          FactoryGirl.attributes_for(:speech, :writing_format_id => @writing_format.id)\r
+        )\r
+        @balloon4 = @sb4.build_balloon(\r
+          FactoryGirl.attributes_for(:balloon, :system_picture_id => @sp.id, :updated_at => Time.now + 300)\r
+        )\r
+        @sb4.boost\r
+        @sb4.save!\r
+        @sb5 = FactoryGirl.build :speech_balloon, :panel_id => @panel.id, :speech_balloon_template_id => @speech_balloon_template.id\r
+        @speech5 = @sb5.build_speech(\r
+          FactoryGirl.attributes_for(:speech, :writing_format_id => @writing_format.id)\r
+        )\r
+        @balloon5 = @sb5.build_balloon(\r
+          FactoryGirl.attributes_for(:balloon, :system_picture_id => @sp.id, :updated_at => Time.now + 400)\r
+        )\r
+        @sb5.boost\r
+        @sb5.save!\r
         Balloon.stub(:default_page_size).and_return(2)\r
       end\r
       it '通常は全件(5件)を返す' do\r