From 4f803eba7eb38b2c823c2d14452e6a1a718e3e77 Mon Sep 17 00:00:00 2001 From: luisramos0 Date: Mon, 25 Mar 2019 15:08:24 +0000 Subject: [PATCH] Add around blocks to clear downloads directory before and after every test --- .../reports/enterprise_fee_summaries_spec.rb | 116 ++++++++++-------- 1 file changed, 62 insertions(+), 54 deletions(-) diff --git a/spec/features/admin/reports/enterprise_fee_summaries_spec.rb b/spec/features/admin/reports/enterprise_fee_summaries_spec.rb index edbd48bcd0..354ca9d185 100644 --- a/spec/features/admin/reports/enterprise_fee_summaries_spec.rb +++ b/spec/features/admin/reports/enterprise_fee_summaries_spec.rb @@ -98,74 +98,82 @@ xfeature "enterprise fee summaries", js: true do end end - describe "smoke test for generation of report based on permissions" do - before do - visit spree.new_admin_reports_enterprise_fee_summary_path + describe "csv downloads" do + around do |example| + clear_downloads + example.run + clear_downloads end - context "when logged in as admin" do + describe "smoke test for generation of report based on permissions" do + before do + visit spree.new_admin_reports_enterprise_fee_summary_path + end + + context "when logged in as admin" do + let!(:order) do + create(:completed_order_with_fees, order_cycle: order_cycle, + distributor: distributor) + end + let(:current_user) { create(:admin_user) } + + it "generates file with data for all enterprises" do + check I18n.t("filters.report_format_csv", scope: i18n_scope) + click_on I18n.t("filters.generate_report", scope: i18n_scope) + expect(page.response_headers['Content-Type']).to eq "text/csv" + expect(page.body).to have_content(distributor.name) + end + end + + context "when logged in as enterprise user" do + let!(:order) do + create(:completed_order_with_fees, order_cycle: order_cycle, + distributor: distributor) + end + let!(:other_order) do + create(:completed_order_with_fees, order_cycle: other_order_cycle, + distributor: other_distributor) + end + let(:current_user) { distributor.owner } + + it "generates file with data for the enterprise" do + check I18n.t("filters.report_format_csv", scope: i18n_scope) + click_on I18n.t("filters.generate_report", scope: i18n_scope) + expect(page.response_headers['Content-Type']).to eq "text/csv" + expect(page.body).to have_content(distributor.name) + expect(page.body).not_to have_content(other_distributor.name) + end + end + end + + describe "smoke test for filtering report based on filters" do + let!(:second_distributor) { create(:distributor_enterprise) } + let!(:second_order_cycle) { create(:simple_order_cycle, coordinator: second_distributor) } + let!(:order) do create(:completed_order_with_fees, order_cycle: order_cycle, distributor: distributor) end + let!(:second_order) do + create(:completed_order_with_fees, order_cycle: second_order_cycle, + distributor: second_distributor) + end + let(:current_user) { create(:admin_user) } - it "generates file with data for all enterprises" do + before do + visit spree.new_admin_reports_enterprise_fee_summary_path + end + + it "generates file with data for selected order cycle" do + select order_cycle.name, from: "report_order_cycle_ids" check I18n.t("filters.report_format_csv", scope: i18n_scope) click_on I18n.t("filters.generate_report", scope: i18n_scope) expect(page.response_headers['Content-Type']).to eq "text/csv" expect(page.body).to have_content(distributor.name) + expect(page.body).not_to have_content(second_distributor.name) end end - - context "when logged in as enterprise user" do - let!(:order) do - create(:completed_order_with_fees, order_cycle: order_cycle, - distributor: distributor) - end - let!(:other_order) do - create(:completed_order_with_fees, order_cycle: other_order_cycle, - distributor: other_distributor) - end - let(:current_user) { distributor.owner } - - it "generates file with data for the enterprise" do - check I18n.t("filters.report_format_csv", scope: i18n_scope) - click_on I18n.t("filters.generate_report", scope: i18n_scope) - expect(page.response_headers['Content-Type']).to eq "text/csv" - expect(page.body).to have_content(distributor.name) - expect(page.body).not_to have_content(other_distributor.name) - end - end - end - - describe "smoke test for filtering report based on filters" do - let!(:second_distributor) { create(:distributor_enterprise) } - let!(:second_order_cycle) { create(:simple_order_cycle, coordinator: second_distributor) } - - let!(:order) do - create(:completed_order_with_fees, order_cycle: order_cycle, - distributor: distributor) - end - let!(:second_order) do - create(:completed_order_with_fees, order_cycle: second_order_cycle, - distributor: second_distributor) - end - - let(:current_user) { create(:admin_user) } - - before do - visit spree.new_admin_reports_enterprise_fee_summary_path - end - - it "generates file with data for selected order cycle" do - select order_cycle.name, from: "report_order_cycle_ids" - check I18n.t("filters.report_format_csv", scope: i18n_scope) - click_on I18n.t("filters.generate_report", scope: i18n_scope) - expect(page.response_headers['Content-Type']).to eq "text/csv" - expect(page.body).to have_content(distributor.name) - expect(page.body).not_to have_content(second_distributor.name) - end end def i18n_scope