From 440e5aaf97f6633489c188edb42b634f822ab786 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Bellet Date: Mon, 7 Mar 2022 17:40:37 +0100 Subject: [PATCH 1/2] Default checked/unchecked values for checkbox is 0/1 --- app/services/default_address_updater.rb | 4 ++-- spec/controllers/split_checkout_controller_spec.rb | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) 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..f6bdd3b18b 100644 --- a/spec/controllers/split_checkout_controller_spec.rb +++ b/spec/controllers/split_checkout_controller_spec.rb @@ -85,14 +85,14 @@ describe SplitCheckoutController, type: :controller do describe "saving default addresses" do 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 "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) From 1fe7ebcec204c4c39de94c77df50bc24ab44341c Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Bellet Date: Mon, 7 Mar 2022 17:42:06 +0100 Subject: [PATCH 2/2] Check uncheck `save_bill|ship_address` don't save `bill|ship_address` --- .../split_checkout_controller_spec.rb | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/spec/controllers/split_checkout_controller_spec.rb b/spec/controllers/split_checkout_controller_spec.rb index f6bdd3b18b..8c15915b95 100644 --- a/spec/controllers/split_checkout_controller_spec.rb +++ b/spec/controllers/split_checkout_controller_spec.rb @@ -84,6 +84,14 @@ 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: "1" } }) @@ -91,6 +99,14 @@ describe SplitCheckoutController, type: :controller do 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: "1" } })