diff --git a/api/spec/requests/spree/api/checkouts_spec.rb b/api/spec/requests/spree/api/checkouts_spec.rb index c5b5e29105..1986a87b9f 100644 --- a/api/spec/requests/spree/api/checkouts_spec.rb +++ b/api/spec/requests/spree/api/checkouts_spec.rb @@ -109,6 +109,20 @@ module Spree::Api expect(response.status).to eq(200) end + # Regression test for https://github.com/solidusio/solidus/issues/2845 + it "does not persist the address to the user's address book when temporary_address is set" do + expect_any_instance_of(Spree.user_class).not_to receive(:persist_order_address) + + put spree.api_checkout_path(order), + params: {order_token: order.guest_token, order: { + temporary_address: true, + bill_address_attributes: address, + ship_address_attributes: address + }} + + expect(response.status).to eq(200) + end + # Regression Spec for https://github.com/spree/spree/issues/5389 and https://github.com/spree/spree/issues/5880 it "can update addresses but not transition to delivery w/o shipping setup" do Spree::ShippingMethod.all.find_each(&:destroy) diff --git a/core/lib/spree/permitted_attributes.rb b/core/lib/spree/permitted_attributes.rb index 7a3f9c54ae..7536ba3295 100644 --- a/core/lib/spree/permitted_attributes.rb +++ b/core/lib/spree/permitted_attributes.rb @@ -153,6 +153,7 @@ module PermittedAttributes @@checkout_address_attributes = [ :use_billing, :use_shipping, + :temporary_address, :email, bill_address_attributes: address_attributes, ship_address_attributes: address_attributes