From 7bc735eea37d97c411550be260784917ca750fef Mon Sep 17 00:00:00 2001 From: Maikel Linke Date: Fri, 22 Mar 2019 13:06:45 +1100 Subject: [PATCH] Cover report content with specs --- .../orders_and_fulfillments_report_spec.rb | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/spec/lib/open_food_network/orders_and_fulfillments_report_spec.rb b/spec/lib/open_food_network/orders_and_fulfillments_report_spec.rb index 7571651a86..f843e493b7 100644 --- a/spec/lib/open_food_network/orders_and_fulfillments_report_spec.rb +++ b/spec/lib/open_food_network/orders_and_fulfillments_report_spec.rb @@ -5,12 +5,14 @@ describe OpenFoodNetwork::OrdersAndFulfillmentsReport do let(:distributor) { create(:distributor_enterprise) } let(:order_cycle) { create(:simple_order_cycle) } + let(:address) { create(:address) } let(:order) { create( :order, completed_at: 1.day.ago, order_cycle: order_cycle, - distributor: distributor + distributor: distributor, + bill_address: address ) } let(:line_item) { build(:line_item) } @@ -136,4 +138,28 @@ describe OpenFoodNetwork::OrdersAndFulfillmentsReport do end end end + + describe "order_cycle_customer_totals" do + let(:product) { line_item.product } + let(:fuji) { product.variants.first } + let(:items) { + report = described_class.new(admin_user, { report_type: "order_cycle_customer_totals" }, true) + OpenFoodNetwork::OrderGrouper.new(report.rules, report.columns).table(report.table_items) + } + + it "has a product row" do + product_name_field = items.first[5] + expect(product_name_field).to eq product.name + end + + it "has a summary row" do + product_name_field = items.last[5] + expect(product_name_field).to eq "TOTAL" + end + + it "contain the right SKU" do + sku_field = items.first[23] + expect(sku_field).to eq product.sku + end + end end