Skip to content

Commit

Permalink
Regression test for new order with variant overrides
Browse files Browse the repository at this point in the history
The bug here occurs after adding customer details and clicking on the payments tab; the user is redirected to the customer details tab for no reason and gets stuck.
  • Loading branch information
Matt-Yorkley committed Apr 27, 2021
1 parent 9b52c45 commit a8daa72
Showing 1 changed file with 57 additions and 0 deletions.
57 changes: 57 additions & 0 deletions spec/features/admin/order_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,63 @@ def new_order_with_distribution(distributor, order_cycle)
expect(order.reload.line_items.first.quantity).to eq(1000)
end

# Regression test for #7337
context "creating a new order with a variant override" do
let!(:override) { create(:variant_override, hub: distributor, variant: product.variants.first,
count_on_hand: 100) }

before do
product.variants.first.update(on_demand: false, on_hand: 0)

login_as user
new_order_with_distribution(distributor, order_cycle)
expect(page).to have_content I18n.t('spree.add_product').upcase
end

it "creates order and shipment successfully and allows proceeding to payment" do
select2_select product.name, from: 'add_variant_id', search: true

within("table.stock-levels") do
expect(page).to have_selector("#stock_item_quantity")
fill_in "stock_item_quantity", with: 50
find("button.add_variant").click
end

expect(page).to_not have_selector("table.stock-levels")
expect(page).to have_selector("table.stock-contents")

within("tr.stock-item") do
expect(page).to have_text("50 x")
end

order = Spree::Order.last
expect(order.line_items.first.quantity).to eq(50)
expect(order.shipments.count).to eq(1)

click_button "Update And Recalculate Fees"
expect(page).to have_selector 'h1', text: "Customer Details"

fill_in "order_email", with: "[email protected]"
check "order_use_billing"
fill_in "order_bill_address_attributes_firstname", with: "xxx"
fill_in "order_bill_address_attributes_lastname", with: "xxx"
fill_in "order_bill_address_attributes_address1", with: "xxx"
fill_in "order_bill_address_attributes_city", with: "xxx"
fill_in "order_bill_address_attributes_zipcode", with: "xxx"
select "Australia", from: "order_bill_address_attributes_country_id"
select "Victoria", from: "order_bill_address_attributes_state_id"
fill_in "order_bill_address_attributes_phone", with: "xxx"

click_button "Update"

expect(page).to have_content "Customer Details updated"

click_link "Payments"

expect(page).to have_content "New Payment"
end
end

scenario "can't change distributor or order cycle once order has been finalized" do
login_as_admin_and_visit spree.edit_admin_order_path(order)

Expand Down

0 comments on commit a8daa72

Please sign in to comment.