From 8d19bcdcf25c5b3f05a33f89b2cd21f9a72c2d04 Mon Sep 17 00:00:00 2001 From: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com> Date: Tue, 27 Apr 2021 13:15:44 +0100 Subject: [PATCH] Add failing spec for payment and shipment states bug The order was being left in an unexpected condition here, it's states are not set and there seem to be some weird issues. --- spec/features/admin/payments_spec.rb | 29 ++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/spec/features/admin/payments_spec.rb b/spec/features/admin/payments_spec.rb index d6c5f38d66..75b1de38c2 100644 --- a/spec/features/admin/payments_spec.rb +++ b/spec/features/admin/payments_spec.rb @@ -35,4 +35,33 @@ feature ' expect(page).to have_content I18n.t(:new_payment) end end + + context "creating an order's first payment via admin", js: true do + before do + order.update_columns( + state: "payment", + payment_state: nil, + shipment_state: nil, + completed_at: nil + ) + end + + xit "creates the payment, completes the order, and updates payment and shipping states" do + login_as_admin_and_visit spree.new_admin_order_payment_path order + + expect(page).to have_content "New Payment" + + within "#new_payment" do + find('input[type="radio"]').click + end + + click_button "Update" + expect(page).to have_content "Payments" + + order.reload + expect(order.state).to eq "complete" + expect(order.payment_state).to eq "balance_due" + expect(order.shipment_state).to eq "pending" + end + end end