mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-02-27 01:43:22 +00:00
Merge pull request #10248 from jibees/10117-reports-in-order-cycle-customer-totals-incorrect-sorting-when-lastname-first-letter-isnt-capitalized
Reports, Orders and fulfillment: Sort by customer lastname + firstname case insensitive
This commit is contained in:
@@ -82,7 +82,7 @@ module Reporting
|
||||
},
|
||||
{
|
||||
group_by: proc { |line_items, _row| line_items.first.order },
|
||||
sort_by: proc { |order| order.bill_address.full_name_reverse },
|
||||
sort_by: proc { |order| order.bill_address.full_name_reverse.downcase },
|
||||
header: proc { |_order, _items, rows| row_header(rows.first) },
|
||||
fields_used_in_header: [:customer, :email, :phone, :order_cycle, :order_number],
|
||||
summary_row: proc { |order, _grouped_line_items, rows| summary_row(order, rows) }
|
||||
|
||||
@@ -14,8 +14,8 @@ describe "Orders And Fulfillment" do
|
||||
visit admin_reports_path
|
||||
end
|
||||
|
||||
let(:bill_address1) { create(:address, lastname: "ABRA") }
|
||||
let(:bill_address2) { create(:address, lastname: "KADABRA") }
|
||||
let(:bill_address1) { create(:address, firstname: "Dont", lastname: " Worry") }
|
||||
let(:bill_address2) { create(:address, firstname: "Chamois", lastname: "xaxa") }
|
||||
let(:distributor_address) {
|
||||
create(:address, address1: "distributor address", city: 'The Shire', zipcode: "1234")
|
||||
}
|
||||
@@ -31,7 +31,7 @@ describe "Orders And Fulfillment" do
|
||||
}
|
||||
let(:order2) {
|
||||
create(:completed_order_with_totals, line_items_count: 0, distributor: distributor,
|
||||
bill_address: bill_address1,
|
||||
bill_address: bill_address2,
|
||||
order_cycle_id: order_cycle.id)
|
||||
}
|
||||
let(:supplier) { create(:supplier_enterprise, name: "Supplier Name") }
|
||||
@@ -147,6 +147,35 @@ describe "Orders And Fulfillment" do
|
||||
# 1 row for order2 + 1 summary row
|
||||
end
|
||||
end
|
||||
|
||||
context "with different customers name" do
|
||||
let(:bill_address3) { create(:address, firstname: "bou", lastname: "yaka") }
|
||||
let(:bill_address4) { create(:address, firstname: "Ave", lastname: "Zebu") }
|
||||
let(:order3) {
|
||||
create(:completed_order_with_totals, line_items_count: 0,
|
||||
distributor: distributor,
|
||||
bill_address: bill_address3)
|
||||
}
|
||||
let(:order4) {
|
||||
create(:completed_order_with_totals, line_items_count: 0,
|
||||
distributor: distributor,
|
||||
bill_address: bill_address4)
|
||||
}
|
||||
|
||||
before do
|
||||
create(:line_item_with_shipment, variant: variant2, quantity: 1, order: order3)
|
||||
create(:line_item_with_shipment, variant: variant2, quantity: 1, order: order4)
|
||||
end
|
||||
|
||||
it "orders the report by customer name, case insensitive" do
|
||||
click_button 'Go'
|
||||
rows = find("table.report__table tbody").all("tr.summary-row")
|
||||
expect(rows[0]).to have_content "Dont Worry"
|
||||
expect(rows[1]).to have_content "Chamois xaxa"
|
||||
expect(rows[2]).to have_content "bou yaka"
|
||||
expect(rows[3]).to have_content "Ave Zebu"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe "Order Cycle Supplier" do
|
||||
|
||||
Reference in New Issue
Block a user