diff --git a/app/services/default_address_updater.rb b/app/services/default_address_updater.rb index 89868373d7..35b01cbbc5 100644 --- a/app/services/default_address_updater.rb +++ b/app/services/default_address_updater.rb @@ -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 diff --git a/spec/controllers/split_checkout_controller_spec.rb b/spec/controllers/split_checkout_controller_spec.rb index eff6b2cc67..8c15915b95 100644 --- a/spec/controllers/split_checkout_controller_spec.rb +++ b/spec/controllers/split_checkout_controller_spec.rb @@ -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)