Tests are passing
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user