From 5bbbe4b67a1eb8551046280925dbc3f24b2bbf6b Mon Sep 17 00:00:00 2001 From: Maikel Linke Date: Tue, 11 Oct 2022 14:55:49 +1100 Subject: [PATCH] Stabilise spec by waiting for JS requests Well, two seconds is just a guess. Ideally the page wouldn't display until we have everything loaded. But this logic will be replaced when we chuck out AngularJS. This version passed over 100 runs with a busy CPU on my machine. --- spec/system/admin/order_cycles/simple_spec.rb | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/spec/system/admin/order_cycles/simple_spec.rb b/spec/system/admin/order_cycles/simple_spec.rb index 9072a61e95..91954611ff 100644 --- a/spec/system/admin/order_cycles/simple_spec.rb +++ b/spec/system/admin/order_cycles/simple_spec.rb @@ -223,8 +223,16 @@ describe ' click_button 'Create' - expect(page).to have_select 'new_supplier_id' - expect(page).not_to have_select 'new_supplier_id', with_options: [supplier_unmanaged.name] + # Wait for API requests to finish: + sleep 2 + + expect(page).to have_select 'new_supplier_id', with_options: [ + "Managed supplier", + "Permitted supplier", + ] + expect(page).not_to have_select 'new_supplier_id', with_options: [ + "Unmanaged supplier", + ] select 'Managed supplier', from: 'new_supplier_id' click_button 'Add supplier' select 'Permitted supplier', from: 'new_supplier_id'