mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-02-02 21:57:17 +00:00
Pluck :id when querying active distributors for serializer data
This commit is contained in:
@@ -107,7 +107,7 @@ module Api
|
||||
end
|
||||
|
||||
def active
|
||||
data.active_distributors.andand.include? enterprise
|
||||
data.active_distributor_ids.andand.include? enterprise.id
|
||||
end
|
||||
|
||||
# Map svg icons.
|
||||
|
||||
@@ -9,7 +9,7 @@ module Api
|
||||
end
|
||||
|
||||
def active
|
||||
options[:data].active_distributors.andand.include? object
|
||||
options[:data].active_distributor_ids.andand.include? object.id
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
module OpenFoodNetwork
|
||||
class EnterpriseInjectionData
|
||||
def active_distributors
|
||||
@active_distributors ||= Enterprise.distributors_with_active_order_cycles.ready_for_checkout
|
||||
def active_distributor_ids
|
||||
@active_distributor_ids ||=
|
||||
Enterprise.distributors_with_active_order_cycles.ready_for_checkout.pluck(:id)
|
||||
end
|
||||
|
||||
def earliest_closing_times
|
||||
|
||||
@@ -7,7 +7,7 @@ describe ShopsController, type: :controller do
|
||||
let!(:distributor) { create(:distributor_enterprise) }
|
||||
|
||||
before do
|
||||
allow(Enterprise).to receive_message_chain(:distributors_with_active_order_cycles, :ready_for_checkout) { [distributor] }
|
||||
allow(OpenFoodNetwork::EnterpriseInjectionData).to receive(:active_distributor_ids) { [distributor.id] }
|
||||
end
|
||||
|
||||
it 'renders distributed product properties' do
|
||||
|
||||
@@ -50,7 +50,7 @@ describe Api::CachedEnterpriseSerializer do
|
||||
|
||||
context 'when the enterprise is not an active distributor' do
|
||||
let(:enterprise_injection_data) do
|
||||
instance_double(OpenFoodNetwork::EnterpriseInjectionData, active_distributors: [])
|
||||
instance_double(OpenFoodNetwork::EnterpriseInjectionData, active_distributor_ids: [])
|
||||
end
|
||||
|
||||
it 'does not duplicate properties' do
|
||||
@@ -69,7 +69,7 @@ describe Api::CachedEnterpriseSerializer do
|
||||
|
||||
context 'when the enterprise is an active distributor' do
|
||||
let(:enterprise_injection_data) do
|
||||
instance_double(OpenFoodNetwork::EnterpriseInjectionData, active_distributors: [shop])
|
||||
instance_double(OpenFoodNetwork::EnterpriseInjectionData, active_distributor_ids: [shop.id])
|
||||
end
|
||||
|
||||
it 'does not duplicate properties' do
|
||||
|
||||
Reference in New Issue
Block a user