From 43274ecb4f006f6a63b1419f44bf0e032ce810bf Mon Sep 17 00:00:00 2001 From: Luis Ramos Date: Sat, 18 Apr 2020 14:47:33 +0100 Subject: [PATCH] Remove dead code Dead since https://github.com/openfoodfoundation/openfoodnetwork/pull/3305 --- app/models/producer_property.rb | 12 ----- app/models/spree/property.rb | 12 ----- spec/models/producer_property_spec.rb | 74 --------------------------- spec/models/spree/property_spec.rb | 71 ------------------------- 4 files changed, 169 deletions(-) delete mode 100644 spec/models/producer_property_spec.rb delete mode 100644 spec/models/spree/property_spec.rb diff --git a/app/models/producer_property.rb b/app/models/producer_property.rb index a2de688357..67e48d34db 100644 --- a/app/models/producer_property.rb +++ b/app/models/producer_property.rb @@ -4,18 +4,6 @@ class ProducerProperty < ActiveRecord::Base default_scope { order("#{table_name}.position") } - scope :ever_sold_by, ->(shop) { - joins(producer: { supplied_products: { variants: { exchanges: :order_cycle } } }). - merge(Exchange.outgoing). - merge(Exchange.to_enterprise(shop)). - select('DISTINCT producer_properties.*') - } - - scope :currently_sold_by, ->(shop) { - ever_sold_by(shop). - merge(OrderCycle.active) - } - def property_name property.name if property end diff --git a/app/models/spree/property.rb b/app/models/spree/property.rb index 92c053f65b..a598d1594b 100644 --- a/app/models/spree/property.rb +++ b/app/models/spree/property.rb @@ -10,18 +10,6 @@ module Spree scope :sorted, -> { order(:name) } - scope :ever_sold_by, ->(shop) { - joins(products: { variants: { exchanges: :order_cycle } }). - merge(Exchange.outgoing). - merge(Exchange.to_enterprise(shop)). - select('DISTINCT spree_properties.*') - } - - scope :currently_sold_by, ->(shop) { - ever_sold_by(shop). - merge(OrderCycle.active) - } - def property self end diff --git a/spec/models/producer_property_spec.rb b/spec/models/producer_property_spec.rb deleted file mode 100644 index a39d5fd609..0000000000 --- a/spec/models/producer_property_spec.rb +++ /dev/null @@ -1,74 +0,0 @@ -require 'spec_helper' - -describe ProducerProperty do - let(:producer) { create(:supplier_enterprise) } - let(:pp) { producer.producer_properties.first } - - before do - producer.set_producer_property 'Organic Certified', 'NASAA 54321' - end - - describe ".currently_sold_by and .ever_sold_by" do - let!(:shop) { create(:distributor_enterprise) } - let!(:oc) { create(:simple_order_cycle, distributors: [shop], variants: [product.variants.first]) } - let(:product) { create(:simple_product, supplier: producer) } - let(:producer_other) { create(:supplier_enterprise) } - let(:product_other) { create(:simple_product, supplier: producer_other) } - let(:pp_other) { producer_other.producer_properties.first } - - before do - producer_other.set_producer_property 'Spiffy', 'Ya' - end - - describe "with an associated producer property" do - it "returns the producer property" do - expect(ProducerProperty.currently_sold_by(shop)).to eq [pp] - expect(ProducerProperty.ever_sold_by(shop)).to eq [pp] - end - end - - describe "with a producer property for a producer not carried by that shop" do - let!(:exchange) { create(:exchange, order_cycle: oc, incoming: true, sender: producer_other, receiver: oc.coordinator) } - - it "doesn't return the producer property" do - expect(ProducerProperty.currently_sold_by(shop)).not_to include pp_other - expect(ProducerProperty.ever_sold_by(shop)).not_to include pp_other - end - end - - describe "with a producer property for a product in a different shop" do - let(:shop_other) { create(:distributor_enterprise) } - let!(:oc) { create(:simple_order_cycle, distributors: [shop], variants: [product.variants.first]) } - let!(:exchange) { create(:exchange, order_cycle: oc, incoming: false, sender: oc.coordinator, receiver: shop_other, variants: [product_other.variants.first]) } - - it "doesn't return the producer property" do - expect(ProducerProperty.currently_sold_by(shop)).not_to include pp_other - expect(ProducerProperty.ever_sold_by(shop)).not_to include pp_other - end - end - - describe "with a producer property for a product in a closed order cycle" do - before do - oc.update_attributes! orders_open_at: 2.weeks.ago, orders_close_at: 1.week.ago - end - - it "doesn't return the producer property for .currently_sold_by" do - expect(ProducerProperty.currently_sold_by(shop)).not_to include pp - end - - it "returns the producer property for .ever_sold_by" do - expect(ProducerProperty.ever_sold_by(shop)).to include pp - end - end - - describe "with a duplicate producer property" do - let(:product2) { create(:simple_product, supplier: producer) } - let!(:oc) { create(:simple_order_cycle, distributors: [shop], variants: [product.variants.first, product2.variants.first]) } - - it "doesn't return duplicates" do - expect(ProducerProperty.currently_sold_by(shop).to_a.size).to eq 1 - expect(ProducerProperty.ever_sold_by(shop).to_a.size).to eq 1 - end - end - end -end diff --git a/spec/models/spree/property_spec.rb b/spec/models/spree/property_spec.rb deleted file mode 100644 index acbd22ca27..0000000000 --- a/spec/models/spree/property_spec.rb +++ /dev/null @@ -1,71 +0,0 @@ -require 'spec_helper' - -module Spree - describe Property do - describe "scopes" do - describe ".currently_sold_by and .ever_sold_by" do - let!(:shop) { create(:distributor_enterprise) } - let!(:shop_other) { create(:distributor_enterprise) } - let!(:product) { create(:simple_product) } - let!(:product_other_ex) { create(:simple_product) } - let!(:product_no_oc) { create(:simple_product) } - let!(:oc) { create(:simple_order_cycle, distributors: [shop], variants: [product.variants.first]) } - let!(:exchange_other_shop) { create(:exchange, order_cycle: oc, sender: oc.coordinator, receiver: shop_other, variants: [product_other_ex.variants.first]) } - let(:property) { product.properties.last } - let(:property_other_ex) { product_other_ex.properties.last } - let(:property_no_oc) { product_no_oc.properties.last } - - before do - product.set_property 'Organic', 'NASAA 12345' - product_other_ex.set_property 'Biodynamic', 'ASDF 12345' - product_no_oc.set_property 'Shiny', 'Very' - end - - it "returns the property" do - expect(Property.currently_sold_by(shop)).to eq [property] - expect(Property.ever_sold_by(shop)).to eq [property] - end - - it "doesn't return the property from another exchange" do - expect(Property.currently_sold_by(shop)).not_to include property_other_ex - expect(Property.ever_sold_by(shop)).not_to include property_other_ex - end - - it "doesn't return the property with no order cycle" do - expect(Property.currently_sold_by(shop)).not_to include property_no_oc - expect(Property.ever_sold_by(shop)).not_to include property_no_oc - end - - describe "closed order cyces" do - let!(:product_closed_oc) { create(:simple_product) } - let!(:oc_closed) { create(:closed_order_cycle, distributors: [shop], variants: [product_closed_oc.variants.first]) } - let(:property_closed_oc) { product_closed_oc.properties.last } - - before { product_closed_oc.set_property 'Spiffy', 'Ooh yeah' } - - it "doesn't return the property for .currently_sold_by" do - expect(Property.currently_sold_by(shop)).not_to include property_closed_oc - end - - it "returns the property for .ever_sold_by" do - expect(Property.ever_sold_by(shop)).to include property_closed_oc - end - end - - context "with another product in the order cycle" do - let!(:product2) { create(:simple_product) } - let!(:oc) { create(:simple_order_cycle, distributors: [shop], variants: [product.variants.first, product2.variants.first]) } - - before do - product2.set_property 'Organic', 'NASAA 12345' - end - - it "doesn't return duplicates" do - expect(Property.currently_sold_by(shop).to_a.size).to eq 1 - expect(Property.ever_sold_by(shop).to_a.size).to eq 1 - end - end - end - end - end -end