diff --git a/spec/models/line_item_spec.rb b/spec/models/line_item_spec.rb index b8a64dd..97dbc0e 100644 --- a/spec/models/line_item_spec.rb +++ b/spec/models/line_item_spec.rb @@ -4,27 +4,31 @@ describe Spree::LineItem do context "#save" do it "should create one link for a single digital Variant" do - digital_variant = FactoryGirl.create(:variant, :digital => FactoryGirl.create(:digital)) + digital_variant = FactoryGirl.create(:variant, :digitals => [FactoryGirl.create(:digital)]) line_item = FactoryGirl.create(:line_item, :variant => digital_variant) - links = digital_variant.digital.digital_links + links = digital_variant.digitals.first.digital_links links.all.size.should == 1 links.first.line_item.should == line_item end it "should create a link for each quantity of a digital Variant, even when quantity changes later" do - digital_variant = FactoryGirl.create(:variant, :digital => FactoryGirl.create(:digital)) + digital_variant = FactoryGirl.create(:variant, :digitals => [FactoryGirl.create(:digital)]) line_item = FactoryGirl.create(:line_item, :variant => digital_variant, :quantity => 5) - links = digital_variant.digital.digital_links + links = digital_variant.digitals.first.digital_links links.all.size.should == 5 links.each { |link| link.line_item.should == line_item } # quantity update line_item.quantity = 8 line_item.save - links = digital_variant.digital.digital_links + links = digital_variant.digitals.first.digital_links links.all.size.should == 8 links.each { |link| link.line_item.should == line_item } end + + it "should create a link for digital variants with multiple digital downloads attached" do + + end end end diff --git a/spec/models/order_spec.rb b/spec/models/order_spec.rb index 404d055..b361524 100644 --- a/spec/models/order_spec.rb +++ b/spec/models/order_spec.rb @@ -9,9 +9,9 @@ describe Spree::Order do context "#add_variant" do it "should add digital Variants of quantity 1 to an order" do order = FactoryGirl.create(:order) - order.add_variant variant1 = FactoryGirl.create(:variant, :digital => FactoryGirl.create(:digital)) - order.add_variant variant2 = FactoryGirl.create(:variant, :digital => FactoryGirl.create(:digital)) - order.add_variant variant3 = FactoryGirl.create(:variant, :digital => FactoryGirl.create(:digital)) + order.add_variant variant1 = FactoryGirl.create(:variant, :digitals => [FactoryGirl.create(:digital)]) + order.add_variant variant2 = FactoryGirl.create(:variant, :digitals => [FactoryGirl.create(:digital)]) + order.add_variant variant3 = FactoryGirl.create(:variant, :digitals => [FactoryGirl.create(:digital)]) order.line_items.first.variant.should == variant1 order.line_items.second.variant.should == variant2 order.line_items.third.variant.should == variant3 @@ -19,7 +19,7 @@ describe Spree::Order do it "should handle quantity higher than 1 when adding one specific digital Variant" do order = FactoryGirl.create(:order) - digital_variant = FactoryGirl.create(:variant, :digital => FactoryGirl.create(:digital)) + digital_variant = FactoryGirl.create(:variant, :digitals => [FactoryGirl.create(:digital)]) order.add_variant digital_variant, 3 order.line_items.first.quantity.should == 3 order.add_variant digital_variant, 2 @@ -31,21 +31,21 @@ describe Spree::Order do it "should understand that all products are digital" do order = FactoryGirl.create(:order) 3.times do - order.add_variant FactoryGirl.create(:variant, :digital => FactoryGirl.create(:digital)) + order.add_variant FactoryGirl.create(:variant, :digitals => [FactoryGirl.create(:digital)]) end order.digital?.should be_true - order.add_variant FactoryGirl.create(:variant, :digital => FactoryGirl.create(:digital)), 4 + order.add_variant FactoryGirl.create(:variant, :digitals => [FactoryGirl.create(:digital)]), 4 order.digital?.should be_true end it "should understand that not all products are digital" do order = FactoryGirl.create(:order) 3.times do - order.add_variant FactoryGirl.create(:variant, :digital => FactoryGirl.create(:digital)) + order.add_variant FactoryGirl.create(:variant, :digitals => [FactoryGirl.create(:digital)]) end order.add_variant FactoryGirl.create(:variant) # this is the analog product order.digital?.should be_false - order.add_variant FactoryGirl.create(:variant, :digital => FactoryGirl.create(:digital)), 4 + order.add_variant FactoryGirl.create(:variant, :digitals => [FactoryGirl.create(:digital)]), 4 order.digital?.should be_false end end