mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-03-07 03:01:33 +00:00
Merge pull request #7367 from andrewpbrett/tap-map
Replace map for ActionController::Params v2
This commit is contained in:
@@ -106,13 +106,15 @@ class CartService
|
||||
end
|
||||
|
||||
def read_variants_hash(data)
|
||||
(data[:variants] || []).map do |variant_id, quantity|
|
||||
if quantity.is_a?(Hash)
|
||||
{ variant_id: variant_id, quantity: quantity[:quantity], max_quantity: quantity[:max_quantity] }
|
||||
variants_array = []
|
||||
(data[:variants] || []).each do |variant_id, quantity|
|
||||
if quantity.is_a?(ActionController::Parameters)
|
||||
variants_array.push({ variant_id: variant_id, quantity: quantity[:quantity], max_quantity: quantity[:max_quantity] })
|
||||
else
|
||||
{ variant_id: variant_id, quantity: quantity }
|
||||
variants_array.push({ variant_id: variant_id, quantity: quantity })
|
||||
end
|
||||
end
|
||||
variants_array
|
||||
end
|
||||
|
||||
def cart_remove(variant_id)
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user