From a431c03eb160cb90f7f89d215a172bceb43fde64 Mon Sep 17 00:00:00 2001 From: Andy Brett Date: Thu, 4 Mar 2021 14:32:55 -0800 Subject: [PATCH 1/2] only show primary producers on shopfront list of producers --- app/models/enterprise.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/enterprise.rb b/app/models/enterprise.rb index b3a5669f03..135358fdc7 100644 --- a/app/models/enterprise.rb +++ b/app/models/enterprise.rb @@ -250,7 +250,7 @@ class Enterprise < ActiveRecord::Base def plus_relatives_and_oc_producers(order_cycles) oc_producer_ids = Exchange.in_order_cycle(order_cycles).incoming.pluck :sender_id - Enterprise.relatives_of_one_union_others(id, oc_producer_ids | [id]) + Enterprise.is_primary_producer.relatives_of_one_union_others(id, oc_producer_ids | [id]) end def relatives_including_self From 0125b5f10e2167a61a59d166b27beee6533a26ab Mon Sep 17 00:00:00 2001 From: Andy Brett Date: Mon, 8 Mar 2021 09:10:40 -0800 Subject: [PATCH 2/2] add spec for plus_relatives_and_oc_producers --- spec/models/enterprise_spec.rb | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/spec/models/enterprise_spec.rb b/spec/models/enterprise_spec.rb index 930358a350..313148e599 100644 --- a/spec/models/enterprise_spec.rb +++ b/spec/models/enterprise_spec.rb @@ -599,4 +599,19 @@ describe Enterprise do end end end + + describe "#plus_relatives_and_oc_producers" do + it "does not find non-produders " do + supplier = create(:supplier_enterprise) + distributor = create(:distributor_enterprise, is_primary_producer: false) + product = create(:product) + order_cycle = create( + :simple_order_cycle, + suppliers: [supplier], + distributors: [distributor], + variants: [product.master] + ) + expect(distributor.plus_relatives_and_oc_producers(order_cycle)).to eq([supplier]) + end + end end