From a37b0eb698c3dd8fe7fd833fabe4ea49e17feaf8 Mon Sep 17 00:00:00 2001 From: Maikel Linke Date: Tue, 2 Jul 2024 16:57:07 +1000 Subject: [PATCH] Replace mocking on tested order object It's more realistic this way. --- spec/models/spree/order_spec.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/spec/models/spree/order_spec.rb b/spec/models/spree/order_spec.rb index c37fc28033..74d384e2c8 100644 --- a/spec/models/spree/order_spec.rb +++ b/spec/models/spree/order_spec.rb @@ -240,12 +240,12 @@ RSpec.describe Spree::Order do end it "should change the shipment state to ready if order is paid" do - Spree::Shipment.create(order:) - order.shipments.reload + order = create(:order_ready_for_confirmation) - allow(order).to receive_messages(paid?: true, complete?: true) - order.finalize! + order.payments.first.capture! + order.next! # calls `finalize!` order.reload # reload so we're sure the changes are persisted + expect(order.shipment_state).to eq 'ready' end