From 7920c1c4e81bca353a1ffa5afc5308776bb2967f Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Bellet Date: Fri, 10 Jun 2022 16:35:25 +0200 Subject: [PATCH] Update Customers reports spec for feature report_inverse_columns_logic --- spec/system/admin/reports_spec.rb | 61 ++++++++++++++++++++----------- 1 file changed, 39 insertions(+), 22 deletions(-) diff --git a/spec/system/admin/reports_spec.rb b/spec/system/admin/reports_spec.rb index 0c2676f64c..68e1fa6aa0 100644 --- a/spec/system/admin/reports_spec.rb +++ b/spec/system/admin/reports_spec.rb @@ -31,37 +31,54 @@ describe ' end end - describe "Customers report" do + shared_examples "Can access Customers reports and generate report" do |inverse_columns_logic| before do - login_as_admin_and_visit admin_reports_path + allow(OpenFoodNetwork::FeatureToggle).to receive(:enabled?).with( + :report_inverse_columns_logic, anything + ).and_return(inverse_columns_logic) end - it "customers report" do - click_link "Mailing List" - expect(page).to have_select('report_subtype', selected: 'Mailing List') - click_button "Go" + describe "Customers report" do + before do + login_as_admin_and_visit admin_reports_path + end - rows = find("table.report__table").all("thead tr") - table = rows.map { |r| r.all("th").map { |c| c.text.strip } } - expect(table.sort).to eq([ - ["Email", "First Name", "Last Name", "Suburb"].map(&:upcase) - ].sort) - end + it "customers report" do + click_link "Mailing List" + unless inverse_columns_logic + expect(page).to have_select('report_subtype', + selected: 'Mailing List') + end + click_button "Go" - it "customers report" do - click_link "Addresses" - expect(page).to have_select('report_subtype', selected: 'Addresses') + rows = find("table.report__table").all("thead tr") + table = rows.map { |r| r.all("th").map { |c| c.text.strip } } + expect(table.sort).to eq([ + ["Email", "First Name", "Last Name", "Suburb"].map(&:upcase) + ].sort) + end - click_button "Go" - rows = find("table.report__table").all("thead tr") - table = rows.map { |r| r.all("th").map { |c| c.text.strip } } - expect(table.sort).to eq([ - ["First Name", "Last Name", "Billing Address", "Email", "Phone", "Hub", "Hub Address", - "Shipping Method"].map(&:upcase) - ].sort) + it "customers report" do + click_link "Addresses" + unless inverse_columns_logic + expect(page).to have_select('report_subtype', + selected: 'Addresses') + end + + click_button "Go" + rows = find("table.report__table").all("thead tr") + table = rows.map { |r| r.all("th").map { |c| c.text.strip } } + expect(table.sort).to eq([ + ["First Name", "Last Name", "Billing Address", "Email", "Phone", "Hub", "Hub Address", + "Shipping Method"].map(&:upcase) + ].sort) + end end end + it_behaves_like "Can access Customers reports and generate report", true + it_behaves_like "Can access Customers reports and generate report", false + describe "Order cycle management report" do before do login_as_admin_and_visit admin_reports_path