mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-03-11 03:40:20 +00:00
Fetch Property instead of ProducerProps from query
By not having to treat producer properties differently we can filter and fetch all properties from DB without having to process it with Ruby and with a single query.
This commit is contained in:
@@ -33,10 +33,10 @@ describe Api::CachedEnterpriseSerializer do
|
||||
|
||||
let(:property) { create(:property, presentation: 'One') }
|
||||
let(:duplicate_property) { create(:property, presentation: 'One') }
|
||||
let(:producer) { create(:supplier_enterprise, properties: [duplicate_property]) }
|
||||
|
||||
before do
|
||||
product = create(:product, properties: [property])
|
||||
producer = create(:supplier_enterprise, properties: [duplicate_property])
|
||||
producer.supplied_products << product
|
||||
|
||||
create(
|
||||
@@ -57,6 +57,14 @@ describe Api::CachedEnterpriseSerializer do
|
||||
properties = cached_enterprise_serializer.distributed_properties
|
||||
expect(properties).to eq([property])
|
||||
end
|
||||
|
||||
it 'fetches producer properties' do
|
||||
distributed_producer_properties = cached_enterprise_serializer
|
||||
.distributed_producer_properties
|
||||
|
||||
expect(distributed_producer_properties)
|
||||
.to eq(producer.producer_properties.map(&:property))
|
||||
end
|
||||
end
|
||||
|
||||
context 'when the enterprise is an active distributor' do
|
||||
@@ -68,6 +76,14 @@ describe Api::CachedEnterpriseSerializer do
|
||||
properties = cached_enterprise_serializer.distributed_properties
|
||||
expect(properties).to eq([property])
|
||||
end
|
||||
|
||||
it 'fetches producer properties' do
|
||||
distributed_producer_properties = cached_enterprise_serializer
|
||||
.distributed_producer_properties
|
||||
|
||||
expect(distributed_producer_properties)
|
||||
.to eq(producer.producer_properties.map(&:property))
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user