From 3447959a061eb1d3867eee1e5f55556dcdfcfb63 Mon Sep 17 00:00:00 2001 From: filipefurtad0 Date: Mon, 24 Oct 2022 18:26:51 +0100 Subject: [PATCH] Adds click_on_select2 helper --- spec/support/request/web_helper.rb | 5 ++++ .../admin/bulk_order_management_spec.rb | 27 +++++++------------ 2 files changed, 14 insertions(+), 18 deletions(-) diff --git a/spec/support/request/web_helper.rb b/spec/support/request/web_helper.rb index 57fb3b4d42..46449db4e1 100644 --- a/spec/support/request/web_helper.rb +++ b/spec/support/request/web_helper.rb @@ -127,6 +127,11 @@ module WebHelper page.find(:css, 'body').click end + def click_on_select2(value, options) + find("#s2id_#{options[:from]}").click + find(:css, ".select2-result-label", text: options[:select_text] || value).click + end + def tomselect_search_and_select(value, options) tomselect_wrapper = page.find("[name='#{options[:from]}']").sibling(".ts-wrapper") tomselect_wrapper.find(".ts-control").click diff --git a/spec/system/admin/bulk_order_management_spec.rb b/spec/system/admin/bulk_order_management_spec.rb index 7bc2cbcbe3..ccfa1d7f58 100644 --- a/spec/system/admin/bulk_order_management_spec.rb +++ b/spec/system/admin/bulk_order_management_spec.rb @@ -476,24 +476,18 @@ describe ' it "allows filters to be used in combination" do expect(page).to have_selector "tr#li_#{li1.id}" expect(page).to have_selector "tr#li_#{li2.id}" - find("#s2id_order_cycle_filter").click - find(".select2-result-label", text: oc1.name.to_s).click + click_on_select2 oc1.name, from: "order_cycle_filter" expect(page).to have_selector "tr#li_#{li1.id}" expect(page).to have_no_selector "tr#li_#{li2.id}" - find("#s2id_distributor_filter").click - find(".select2-result-label", text: d1.name.to_s).click - find("#s2id_supplier_filter").click - find(".select2-result-label", text: s1.name.to_s).click + click_on_select2 d1.name, from: "distributor_filter" + click_on_select2 s1.name, from: "supplier_filter" expect(page).to have_selector "tr#li_#{li1.id}" expect(page).to have_no_selector "tr#li_#{li2.id}" - find("#s2id_distributor_filter").click - find(".select2-result-label", text: d2.name.to_s).click - find("#s2id_supplier_filter").click - find(".select2-result-label", text: s2.name.to_s).click + click_on_select2 d2.name, from: "distributor_filter" + click_on_select2 s2.name, from: "supplier_filter" expect(page).to have_no_selector "tr#li_#{li1.id}" expect(page).to have_no_selector "tr#li_#{li2.id}" - find("#s2id_order_cycle_filter").click - find(".select2-result-label", text: oc2.name.to_s).click + click_on_select2 oc2.name, from: "order_cycle_filter" expect(page).to have_no_selector "tr#li_#{li1.id}" expect(page).to have_selector "tr#li_#{li2.id}" end @@ -501,12 +495,9 @@ describe ' it "displays a 'Clear All' button which sets all select filters to 'All'" do expect(page).to have_selector "tr#li_#{li1.id}" expect(page).to have_selector "tr#li_#{li2.id}" - find("#s2id_order_cycle_filter").click - find(".select2-result-label", text: oc1.name.to_s).click - find("#s2id_distributor_filter").click - find(".select2-result-label", text: d1.name.to_s).click - find("#s2id_supplier_filter").click - find(".select2-result-label", text: s1.name.to_s).click + click_on_select2 oc1.name, from: "order_cycle_filter" + click_on_select2 d1.name, from: "distributor_filter" + click_on_select2 s1.name, from: "supplier_filter" expect(page).to have_selector "tr#li_#{li1.id}" expect(page).to have_no_selector "tr#li_#{li2.id}" expect(page).to have_button "Clear All"