mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-02-08 22:56:06 +00:00
Refactor spec to not stub the class under test
This also relies on ActiveRecord which will come in handy as we move on the refactor.
This commit is contained in:
@@ -32,32 +32,18 @@ describe Api::CachedEnterpriseSerializer do
|
||||
let(:duplicate_property) { create(:property, presentation: 'One') }
|
||||
let(:different_property) { create(:property, presentation: 'Two') }
|
||||
|
||||
describe "merging Spree::Properties" do
|
||||
it "merges properties" do
|
||||
allow(cached_enterprise_serializer)
|
||||
.to receive(:product_properties) { [property] }
|
||||
allow(cached_enterprise_serializer)
|
||||
.to receive(:producer_properties) { [duplicate_property, different_property] }
|
||||
|
||||
merge = cached_enterprise_serializer.supplied_properties
|
||||
expect(merge).to eq([property, different_property])
|
||||
end
|
||||
let(:enterprise) do
|
||||
create(:enterprise, properties: [duplicate_property, different_property])
|
||||
end
|
||||
|
||||
describe "merging ProducerProperties and Spree::ProductProperties" do
|
||||
let(:product_property) { create(:product_property, property: property) }
|
||||
let(:duplicate_product_property) { create(:producer_property, property: duplicate_property) }
|
||||
let(:producer_property) { create(:producer_property, property: different_property) }
|
||||
before do
|
||||
product = create(:product, properties: [property])
|
||||
enterprise.supplied_products << product
|
||||
end
|
||||
|
||||
it "merges properties" do
|
||||
allow(cached_enterprise_serializer)
|
||||
.to receive(:product_properties) { [product_property] }
|
||||
allow(cached_enterprise_serializer)
|
||||
.to receive(:producer_properties) { [duplicate_product_property, producer_property] }
|
||||
|
||||
merge = cached_enterprise_serializer.supplied_properties
|
||||
expect(merge).to eq([product_property, producer_property])
|
||||
end
|
||||
it "removes duplicate product and producer properties" do
|
||||
merge = cached_enterprise_serializer.supplied_properties
|
||||
expect(merge).to eq([property, different_property])
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user