Add includes for more efficient querying

This commit is contained in:
David Cook
2024-06-20 15:37:30 +10:00
parent 54d068ee08
commit d80e1efa7b
2 changed files with 6 additions and 7 deletions

View File

@@ -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

View File

@@ -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",