From d80e1efa7bc6735b9f11544f85fb8b25ccf07cdb Mon Sep 17 00:00:00 2001 From: David Cook Date: Thu, 20 Jun 2024 15:37:30 +1000 Subject: [PATCH] Add includes for more efficient querying --- lib/reporting/reports/orders_and_distributors/base.rb | 7 ++++++- spec/lib/reports/orders_and_distributors_report_spec.rb | 6 ------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/lib/reporting/reports/orders_and_distributors/base.rb b/lib/reporting/reports/orders_and_distributors/base.rb index a9cf0a2128..49d3d5bca2 100644 --- a/lib/reporting/reports/orders_and_distributors/base.rb +++ b/lib/reporting/reports/orders_and_distributors/base.rb @@ -32,7 +32,7 @@ module Reporting # rubocop:enable Metrics/AbcSize def search - report_line_items.list + report_line_items.list(line_item_includes) end def query_result @@ -41,6 +41,11 @@ module Reporting private + def line_item_includes + [{ variant: { product: :supplier }, + order: [:bill_address, :payments, { distributor: :address}] }] + end + def permissions @permissions ||= ::Permissions::Order.new(user, ransack_params) end diff --git a/spec/lib/reports/orders_and_distributors_report_spec.rb b/spec/lib/reports/orders_and_distributors_report_spec.rb index 76b86be318..0f3d046638 100644 --- a/spec/lib/reports/orders_and_distributors_report_spec.rb +++ b/spec/lib/reports/orders_and_distributors_report_spec.rb @@ -136,19 +136,13 @@ RSpec.describe Reporting::Reports::OrdersAndDistributors::Base do it "minimises database queries" do subject # build context first - # surely we can do better than that for each row expect { subject.table_rows }.to query_database [ "Spree::Role Exists?", "Spree::Role Exists?", "SQL", "Spree::LineItem Load", - "Spree::Order Load", - "Spree::Address Load", - "Spree::Payment Load", "Spree::PaymentMethod Load", "Spree::Calculator Load", - "Enterprise Load", - "Spree::Address Load", "Spree::Shipment Load", "Spree::ShippingRate Load", "Spree::ShippingMethod Load",