mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-28 21:07:16 +00:00
Add includes for more efficient querying
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user