From 3ccf76ff5f30c358d873b836c1c081ca84896c1a Mon Sep 17 00:00:00 2001 From: Kristina Lim Date: Thu, 10 Oct 2019 19:40:38 +0800 Subject: [PATCH] Add smoke test for Customer Totals report --- .../customer_totals_report_spec.rb | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 spec/lib/open_food_network/orders_and_fulfillments_report/customer_totals_report_spec.rb diff --git a/spec/lib/open_food_network/orders_and_fulfillments_report/customer_totals_report_spec.rb b/spec/lib/open_food_network/orders_and_fulfillments_report/customer_totals_report_spec.rb new file mode 100644 index 0000000000..c53398e2c6 --- /dev/null +++ b/spec/lib/open_food_network/orders_and_fulfillments_report/customer_totals_report_spec.rb @@ -0,0 +1,39 @@ +require "spec_helper" + +RSpec.describe OpenFoodNetwork::OrdersAndFulfillmentsReport::CustomerTotalsReport do + let!(:distributor) { create(:distributor_enterprise) } + + let!(:customer) { create(:customer, enterprise: distributor) } + + let!(:order) do + create(:completed_order_with_totals, line_items_count: 1, user: customer.user, + customer: customer, distributor: distributor) + end + + let(:current_user) { distributor.owner } + let(:permissions) { OpenFoodNetwork::Permissions.new(current_user) } + + let(:report) do + report_options = { report_type: described_class::REPORT_TYPE } + OpenFoodNetwork::OrdersAndFulfillmentsReport.new(permissions, report_options, true) + end + + let(:report_table) do + OpenFoodNetwork::OrderGrouper.new(report.rules, report.columns).table(report.table_items) + end + + it "generates the report" do + expect(report_table.length).to eq(2) + end + + it "has a line item row" do + distributor_name_field = report_table.first[0] + expect(distributor_name_field).to eq distributor.name + + customer_name_field = report_table.first[1] + expect(customer_name_field).to eq order.bill_address.full_name + + total_field = report_table.last[5] + expect(total_field).to eq I18n.t("admin.reports.total") + end +end