Add failing shipping_methods spec

This commit is contained in:
Matt-Yorkley
2019-11-18 14:57:44 +00:00
committed by luisramos0
parent 8546e11ffc
commit 53fb00ce0c

View File

@@ -2,14 +2,7 @@ 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) }
@@ -22,18 +15,51 @@ RSpec.describe OpenFoodNetwork::OrdersAndFulfillmentsReport::CustomerTotalsRepor
OpenFoodNetwork::OrderGrouper.new(report.rules, report.columns).table(report.table_items)
end
it "generates the report" do
expect(report_table.length).to eq(2)
context "viewing the report" do
let!(:order) do
create(:completed_order_with_totals, line_items_count: 1, user: customer.user,
customer: customer, distributor: distributor)
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
it "has a line item row" do
distributor_name_field = report_table.first[0]
expect(distributor_name_field).to eq distributor.name
context "loading shipping methods" do
let!(:shipping_method1) {
create(:shipping_method, distributors: [distributor], name: "First")
}
let!(:shipping_method2) {
create(:shipping_method, distributors: [distributor], name: "Second")
}
let!(:shipping_method3) {
create(:shipping_method, distributors: [distributor], name: "Third")
}
let!(:order) do
create(:completed_order_with_totals, line_items_count: 1, user: customer.user,
customer: customer, distributor: distributor)
end
customer_name_field = report_table.first[1]
expect(customer_name_field).to eq order.bill_address.full_name
before do
order.shipments.each(&:refresh_rates)
order.select_shipping_method(shipping_method2.id)
end
total_field = report_table.last[5]
expect(total_field).to eq I18n.t("admin.reports.total")
xit "displays the correct shipping_method" do
shipping_method_name_field = report_table.first[15]
expect(shipping_method_name_field).to eq shipping_method2.name
end
end
end