From 66485e2e16a359b9c3c4f8fbea5955ebe34c9ca6 Mon Sep 17 00:00:00 2001 From: filipefurtad0 Date: Tue, 28 Feb 2023 19:02:19 +0000 Subject: [PATCH] Adds coverage for XLSX file download --- .../sales_tax_by_order.xlsx | Bin 0 -> 4280 bytes .../sales_tax_totals_by_order_spec.rb | 25 ++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 spec/fixtures/reports/sales_tax_by_order/sales_tax_by_order.xlsx diff --git a/spec/fixtures/reports/sales_tax_by_order/sales_tax_by_order.xlsx b/spec/fixtures/reports/sales_tax_by_order/sales_tax_by_order.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..ad2870fd259b2caf949a22b49ffdfb0fdac92054 GIT binary patch literal 4280 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 Z;opI+2__&s{{=DjrGb5F+E>oM{R>%3KR^Hg literal 0 HcmV?d00001 diff --git a/spec/system/admin/reports/sales_tax/sales_tax_totals_by_order_spec.rb b/spec/system/admin/reports/sales_tax/sales_tax_totals_by_order_spec.rb index 812bd04cbc..7e03c1149c 100644 --- a/spec/system/admin/reports/sales_tax/sales_tax_totals_by_order_spec.rb +++ b/spec/system/admin/reports/sales_tax/sales_tax_totals_by_order_spec.rb @@ -1,6 +1,7 @@ # frozen_string_literal: true require 'system_helper' +require 'roo' describe "Sales Tax Totals By order" do # Scenarion 1: added tax @@ -428,6 +429,11 @@ describe "Sales Tax Totals By order" do let(:report_file) do CSV.read("spec/fixtures/reports/sales_tax_by_order/sales_tax_by_order.csv") end + + let(:report_file_xlsx) do + File.open("spec/fixtures/reports/sales_tax_by_order/sales_tax_by_order.xlsx") + end + it 'as csv' do expect(downloaded_filenames.length).to eq(0) # downloads folder should be empty select "CSV", from: "report_format" @@ -437,6 +443,25 @@ describe "Sales Tax Totals By order" do expect(downloaded_filename).to match(/.*\.csv/) expect(CSV.read(downloaded_filename)).to eq(report_file) end + + it 'as xlsx' do + expect(downloaded_filenames.length).to eq(0) # downloads folder should be empty + select "Spreadsheet", from: "report_format" + find("#display_summary_row").uncheck + click_on "Go" + wait_for_download + expect(downloaded_filenames.length).to eq(1) # downloads folder should contain 1 file + expect(downloaded_filename).to match(/.*\.xlsx/) + downloaded_xlsx = Roo::Excelx.new(downloaded_filename) + downloaded_content = [downloaded_xlsx.row(1), downloaded_xlsx.row(2), + downloaded_xlsx.row(3), downloaded_xlsx.row(4), + downloaded_xlsx.row(5)] + fixture_xlsx = Roo::Excelx.new(report_file_xlsx) + fixture_content = [fixture_xlsx.row(1), fixture_xlsx.row(2), fixture_xlsx.row(3), + fixture_xlsx.row(4), + fixture_xlsx.row(5)] + expect(downloaded_content).to eq(fixture_content) + end end end end