From aa71a13c0d6ff686615accb963295edbd1427f14 Mon Sep 17 00:00:00 2001 From: Michael Bianco Date: Mon, 29 Oct 2012 11:09:41 -0400 Subject: [PATCH] Adding failing variant spec --- spec/models/variant_spec.rb | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 spec/models/variant_spec.rb diff --git a/spec/models/variant_spec.rb b/spec/models/variant_spec.rb new file mode 100644 index 0000000..c3f147c --- /dev/null +++ b/spec/models/variant_spec.rb @@ -0,0 +1,32 @@ +require File.dirname(__FILE__) + '/../spec_helper' + +describe Spree::Variant do + context "#destroy" do + before do + @variant = FactoryGirl.create :variant + @digital = FactoryGirl.create :digital, :variant => @variant + end + + let(:variant) { @variant } + let(:digital) { @digital } + + it "should destroy associated digitals by default" do + Spree::Digital.count.should == 1 + variant.digitals.present?.should be_true + variant.destroy + expect { digital.reload.present? }.to raise_error + Spree::Digital.count.should == 0 + end + + it "should conditionally keep associated digitals" do + Spree::DigitalConfiguration[:keep_digitals] = true + + Spree::Digital.count.should == 1 + variant.digitals.present?.should be_false + variant.destroy + expect { digital.reload.present? }.to_not raise_error + Spree::Digital.count.should == 1 + end + end +end +