mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-02-27 01:43:22 +00:00
Merge pull request #8966 from jibees/8958-improve-use-of-checkboxes-values-in-split-checkout
Splitcheckout: Don't save bill|ship address when associated checkbox is not checked during checkout process
This commit is contained in:
@@ -27,14 +27,14 @@ class DefaultAddressUpdater
|
||||
:bill_address_id, :ship_address_id, to: :order
|
||||
|
||||
def assign_bill_addresses
|
||||
return unless save_bill_address
|
||||
return if save_bill_address == "0"
|
||||
|
||||
customer.bill_address_id = bill_address_id
|
||||
user&.bill_address_id = bill_address_id
|
||||
end
|
||||
|
||||
def assign_ship_addresses
|
||||
return unless save_ship_address
|
||||
return if save_ship_address == "0"
|
||||
|
||||
customer.ship_address_id = ship_address_id
|
||||
user&.ship_address_id = ship_address_id
|
||||
|
||||
@@ -84,15 +84,31 @@ describe SplitCheckoutController, type: :controller do
|
||||
end
|
||||
|
||||
describe "saving default addresses" do
|
||||
it "don't updates default bill address on user" do
|
||||
expect {
|
||||
put :update, params: params.merge({ order: { save_bill_address: "0" } })
|
||||
}.to_not change {
|
||||
order.user.reload.bill_address
|
||||
}
|
||||
end
|
||||
|
||||
it "updates default bill address on user and customer" do
|
||||
put :update, params: params.merge({ order: { save_bill_address: true } })
|
||||
put :update, params: params.merge({ order: { save_bill_address: "1" } })
|
||||
|
||||
expect(order.customer.bill_address).to eq(order.bill_address)
|
||||
expect(order.user.bill_address).to eq(order.bill_address)
|
||||
end
|
||||
|
||||
it "don't updates default ship address on user" do
|
||||
expect {
|
||||
put :update, params: params.merge({ order: { save_bill_address: "0" } })
|
||||
}.to_not change {
|
||||
order.user.reload.ship_address
|
||||
}
|
||||
end
|
||||
|
||||
it "updates default ship address on user and customer" do
|
||||
put :update, params: params.merge({ order: { save_ship_address: true } })
|
||||
put :update, params: params.merge({ order: { save_ship_address: "1" } })
|
||||
|
||||
expect(order.customer.ship_address).to eq(order.ship_address)
|
||||
expect(order.user.ship_address).to eq(order.ship_address)
|
||||
|
||||
Reference in New Issue
Block a user