OSDN Git Service

t#:
authoryasushiito <yas@pen-chan.jp>
Mon, 28 Oct 2013 04:58:29 +0000 (13:58 +0900)
committeryasushiito <yas@pen-chan.jp>
Mon, 28 Oct 2013 04:58:29 +0000 (13:58 +0900)
app/models/sheet.rb
app/models/sheet_panel.rb
spec/models/sheet_panel_spec.rb
spec/models/sheet_spec.rb

index 69930be..f16d8ee 100644 (file)
@@ -281,7 +281,7 @@ class Sheet < ActiveRecord::Base
     self.overwrite au
     res = false
     Sheet.transaction do
-      self.panel_elements.each do |elm|
+      self.sheet_elements.each do |elm|
         elm.new_sheet = self
       end
       res = self.save
index b2e15dd..cc91abf 100644 (file)
@@ -12,14 +12,14 @@ class SheetPanel < ActiveRecord::Base
   validates :t, :presence => true, :numericality => {:greater_than_or_equal_to => 0}
   
   def supply_default
-#    self.sheet_id = nil
-#    self.panel_id = nil
     self.x = 15
     self.y = 15
     if self.sheet
       self.t = self.sheet.new_t 
       self.z = self.sheet.new_z 
     else
+      self.sheet_id = nil
+      self.panel_id = nil
       self.z = 1
       self.t = nil
     end
index b599967..863d9c1 100644 (file)
@@ -154,11 +154,23 @@ describe SheetPanel do
     
     #dbのデフォルト値が0だから明示的にnilにしないと追加ができない
     it 'tをnilにする' do
-      @sheet_panel = FactoryGirl.build :sheet_panel, :sheet_id => @sheet.id, :panel_id => @panel.id
+      @sheet_panel = FactoryGirl.build :sheet_panel, :sheet_id => nil, :panel_id => @panel.id
       @sheet_panel.supply_default
       @sheet_panel.t.should be_nil
     end
     
+    it '自身の用紙に最大t取得を依頼している' do
+      @sheet_panel = FactoryGirl.build :sheet_panel, :sheet_id => @sheet.id, :panel_id => @panel.id
+      Sheet.any_instance.should_receive(:new_t).with(any_args).exactly(1)
+      @sheet_panel.supply_default
+    end
+    it 'tをnilにする' do
+      @sheet_panel = FactoryGirl.build :sheet_panel, :sheet_id => @sheet.id, :panel_id => @panel.id
+      Sheet.any_instance.stub(:new_t).with(any_args).and_return(4)
+      @sheet_panel.supply_default
+      @sheet_panel.t.should eq 4
+    end
+    
   end
   
   describe '上書き補充に於いて' do
index 202f5cc..a78a75e 100644 (file)
@@ -170,7 +170,7 @@ describe Sheet do
   
   describe '閲覧許可に於いて' do
     before do
-      @sheet = FactoryGirl.build :sheet, :author_id => @author.id
+      @sheet = FactoryGirl.create :sheet, :author_id => @author.id
     end
     context 'オープンモードのとき' do
       before do