From 156f54e9090829168134e970b2f5afcc7d315812 Mon Sep 17 00:00:00 2001 From: Michael Bianco Date: Tue, 7 Aug 2012 11:16:24 -0400 Subject: [PATCH] Adding specs for deletion/destroy on Digital and DigitalLink --- spec/models/digital_spec.rb | 16 ++++++++-------- spec/models/variant_spec.rb | 18 ++++++++++++++++++ 2 files changed, 26 insertions(+), 8 deletions(-) create mode 100644 spec/models/variant_spec.rb diff --git a/spec/models/digital_spec.rb b/spec/models/digital_spec.rb index 5ea6acf..7ff1882 100644 --- a/spec/models/digital_spec.rb +++ b/spec/models/digital_spec.rb @@ -1,4 +1,4 @@ -require File.dirname(__FILE__) + '/../spec_helper' +require 'spec_helper' describe Spree::Digital do @@ -12,13 +12,13 @@ describe Spree::Digital do end context "#destroy" do - #it "should destroy associated digital_links" do - # digital = FactoryGirl.create(:digital) - # 3.times { digital.digital_links.create! :order => FactoryGirl.create(:order) } - # DigitalLink.count.should == 3 - # digital.destroy - # DigitalLink.count.should == 0 - #end + it "should destroy associated digital_links" do + digital = FactoryGirl.create(:digital) + 3.times { digital.digital_links.create!({ :line_item => FactoryGirl.create(:line_item) }, :without_protection => true) } + Spree::DigitalLink.count.should == 3 + digital.destroy + Spree::DigitalLink.count.should == 0 + end end end diff --git a/spec/models/variant_spec.rb b/spec/models/variant_spec.rb new file mode 100644 index 0000000..6b30874 --- /dev/null +++ b/spec/models/variant_spec.rb @@ -0,0 +1,18 @@ +require 'spec_helper' + +describe Spree::Variant do + before do + @product = FactoryGirl.create :product + @digital = FactoryGirl.create :digital, :variant => @product.master + end + + let(:variant) { @product.master } + + it "should delete all digitals on variant#destroy" do + digital_id = variant.digitals.first.id + Spree::Digital.find(digital_id).should_not be_nil + variant.digitals.count.should == 1 + variant.destroy + expect { Spree::Digital.find(digital_id) }.to raise_error(ActiveRecord::RecordNotFound) + end +end \ No newline at end of file