Files
spree_digital/spec/models/variant_spec.rb
Michael Bianco 949bd9c6fa Merge branch 'delete-protection' into funkensturm/master
* delete-protection:
  Added config to optionally disable deleting digitals on variant deletion
  Revert "Remove delete digitals on soft delete of variant"
  Adding failing variant spec
  Fixed broken Digital#destroy spec
  Remove delete digitals on soft delete of variant
2012-10-29 11:50:23 -04:00

39 lines
1.1 KiB
Ruby

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
# default is false
Spree::DigitalConfiguration[:keep_digitals] = false
Spree::Digital.count.should == 1
variant.digitals.present?.should be_true
variant.deleted_at = Time.now
variant.deleted?.should be_true
variant.save!
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_true
variant.deleted_at = Time.now
variant.save!
variant.deleted?.should be_true
expect { digital.reload.present? }.to_not raise_error
Spree::Digital.count.should == 1
end
end
end