Fix cart_service_spec to adapt to the actual usage of it from cart_controller, params are now sent inside a Parameters object, not as a hash

This commit is contained in:
Luis Ramos
2021-04-08 21:26:01 +01:00
committed by Andy Brett
parent 69a15d4f04
commit bb465b5715

View File

@@ -27,7 +27,8 @@ describe CartService do
describe "#populate" do
it "adds a variant" do
cart_service.populate(
{ variants: { variant.id.to_s => { quantity: '1', max_quantity: '2' } } },
ActionController::Parameters.new({ variants: { variant.id.to_s => { quantity: '1',
max_quantity: '2' } } }),
true
)
li = order.find_line_item_by_variant(variant)
@@ -41,7 +42,8 @@ describe CartService do
order.add_variant variant, 1, 2
cart_service.populate(
{ variants: { variant.id.to_s => { quantity: '2', max_quantity: '3' } } },
ActionController::Parameters.new({ variants: { variant.id.to_s => { quantity: '2',
max_quantity: '3' } } }),
true
)
li = order.find_line_item_by_variant(variant)
@@ -54,7 +56,7 @@ describe CartService do
it "removes a variant" do
order.add_variant variant, 1, 2
cart_service.populate({ variants: {} }, true)
cart_service.populate(ActionController::Parameters.new({ variants: {} }), true)
order.line_items.reload
li = order.find_line_item_by_variant(variant)
expect(li).not_to be
@@ -67,7 +69,7 @@ describe CartService do
it "does not add the deleted variant to the cart" do
variant.delete
cart_service.populate({ variants: { variant.id.to_s => { quantity: '2' } } }, true)
cart_service.populate(ActionController::Parameters.new({ variants: { variant.id.to_s => { quantity: '2' } } }), true)
expect(relevant_line_item).to be_nil
expect(cart_service.errors.count).to be 0
@@ -82,7 +84,7 @@ describe CartService do
it "removes the line_item from the cart" do
variant.delete
cart_service.populate({ variants: { variant.id.to_s => { quantity: '3' } } }, true)
cart_service.populate(ActionController::Parameters.new({ variants: { variant.id.to_s => { quantity: '3' } } }), true)
expect(Spree::LineItem.where(id: relevant_line_item).first).to be_nil
expect(cart_service.errors.count).to be 0