From 05d42d475ef7d78e4aa77183424be7aba7b03eba Mon Sep 17 00:00:00 2001 From: luisramos0 Date: Sun, 3 Mar 2019 16:07:57 +0000 Subject: [PATCH] Make reports and subscriptions specs work without product.distributors attribute --- .../spree/admin/reports_controller_decorator.rb | 11 +++++------ .../spree/admin/reports_controller_spec.rb | 6 +++--- spec/features/admin/reports_spec.rb | 1 - spec/features/admin/subscriptions_spec.rb | 12 ++++++------ spec/lib/open_food_network/group_buy_report_spec.rb | 3 --- 5 files changed, 14 insertions(+), 19 deletions(-) diff --git a/app/controllers/spree/admin/reports_controller_decorator.rb b/app/controllers/spree/admin/reports_controller_decorator.rb index ef9d906a74..6d8bfad018 100644 --- a/app/controllers/spree/admin/reports_controller_decorator.rb +++ b/app/controllers/spree/admin/reports_controller_decorator.rb @@ -49,8 +49,8 @@ Spree::Admin::ReportsController.class_eval do my_distributors = Enterprise.is_distributor.managed_by(spree_current_user) my_suppliers = Enterprise.is_primary_producer.managed_by(spree_current_user) - # My distributors and any distributors distributing products I supply - @distributors = my_distributors | Enterprise.with_distributed_products_outer.merge(Spree::Product.in_any_supplier(my_suppliers)) + # My distributors + @distributors = my_distributors # My suppliers and any suppliers supplying products I distribute @suppliers = my_suppliers | my_distributors.map { |d| Spree::Product.in_distributor(d) }.flatten.map(&:supplier).uniq @order_cycles = OrderCycle.active_or_complete.accessible_by(spree_current_user).order('orders_close_at DESC') @@ -72,8 +72,8 @@ Spree::Admin::ReportsController.class_eval do my_distributors = Enterprise.is_distributor.managed_by(spree_current_user) my_suppliers = Enterprise.is_primary_producer.managed_by(spree_current_user) - # My distributors and any distributors distributing products I supply - @distributors = my_distributors | Enterprise.with_distributed_products_outer.merge(Spree::Product.in_any_supplier(my_suppliers)) + # My distributors + @distributors = my_distributors # My suppliers and any suppliers supplying products I distribute @suppliers = my_suppliers | my_distributors.map { |d| Spree::Product.in_distributor(d) }.flatten.map(&:supplier).uniq @order_cycles = OrderCycle.active_or_complete.accessible_by(spree_current_user).order('orders_close_at DESC') @@ -231,8 +231,7 @@ Spree::Admin::ReportsController.class_eval do # Load distributors either owned by the user or selling their enterprises products. my_distributors = Enterprise.is_distributor.managed_by(spree_current_user) my_suppliers = Enterprise.is_primary_producer.managed_by(spree_current_user) - distributors_of_my_products = Enterprise.with_distributed_products_outer.merge(Spree::Product.in_any_supplier(my_suppliers)) - @distributors = my_distributors | distributors_of_my_products + @distributors = my_distributors # Load suppliers either owned by the user or supplying products their enterprises distribute. suppliers_of_products_i_distribute = my_distributors.map { |d| Spree::Product.in_distributor(d) }.flatten.map(&:supplier).uniq @suppliers = my_suppliers | suppliers_of_products_i_distribute diff --git a/spec/controllers/spree/admin/reports_controller_spec.rb b/spec/controllers/spree/admin/reports_controller_spec.rb index 3c884967c9..f964aa8863 100644 --- a/spec/controllers/spree/admin/reports_controller_spec.rb +++ b/spec/controllers/spree/admin/reports_controller_spec.rb @@ -14,9 +14,9 @@ describe Spree::Admin::ReportsController, type: :controller do let(:distributor1) { create(:distributor_enterprise) } let(:distributor2) { create(:distributor_enterprise) } let(:distributor3) { create(:distributor_enterprise) } - let(:product1) { create(:product, price: 12.34, distributors: [distributor1], supplier: supplier1) } - let(:product2) { create(:product, price: 23.45, distributors: [distributor2], supplier: supplier2) } - let(:product3) { create(:product, price: 34.56, distributors: [distributor3], supplier: supplier3) } + let(:product1) { create(:product, price: 12.34, supplier: supplier1) } + let(:product2) { create(:product, price: 23.45, supplier: supplier2) } + let(:product3) { create(:product, price: 34.56, supplier: supplier3) } # Given two order cycles with both distributors let(:ocA) { create(:simple_order_cycle, coordinator: coordinator1, distributors: [distributor1, distributor2], suppliers: [supplier1, supplier2, supplier3], variants: [product1.master, product3.master]) } diff --git a/spec/features/admin/reports_spec.rb b/spec/features/admin/reports_spec.rb index a552786618..8c0846efcc 100644 --- a/spec/features/admin/reports_spec.rb +++ b/spec/features/admin/reports_spec.rb @@ -252,7 +252,6 @@ feature %q{ let(:distributor_address) { create(:address, :address1 => "distributor address", :city => 'The Shire', :zipcode => "1234") } let(:distributor) { create(:distributor_enterprise, :address => distributor_address) } let(:product) { create(:product) } - let(:product_distribution) { create(:product_distribution, :product => product, :distributor => distributor) } let(:shipping_instructions) { "pick up on thursday please!" } let(:order1) { create(:order, :distributor => distributor, :bill_address => bill_address, :special_instructions => shipping_instructions) } let(:order2) { create(:order, :distributor => distributor, :bill_address => bill_address, :special_instructions => shipping_instructions) } diff --git a/spec/features/admin/subscriptions_spec.rb b/spec/features/admin/subscriptions_spec.rb index bbb5293079..c8e127a955 100644 --- a/spec/features/admin/subscriptions_spec.rb +++ b/spec/features/admin/subscriptions_spec.rb @@ -145,9 +145,9 @@ feature 'Subscriptions' do let!(:customer_user) { create(:user) } let!(:credit_card1) { create(:credit_card, user: customer_user, cc_type: 'visa', last_digits: 1111, month: 10, year: 2030) } let!(:customer) { create(:customer, enterprise: shop, bill_address: address, user: customer_user, allow_charges: true) } - let!(:test_product) { create(:product, supplier: shop, distributors: []) } + let!(:test_product) { create(:product, supplier: shop) } let!(:test_variant) { create(:variant, product: test_product, unit_value: "100", price: 12.00, option_values: []) } - let!(:shop_product) { create(:product, supplier: shop, distributors: [shop]) } + let!(:shop_product) { create(:product, supplier: shop) } let!(:shop_variant) { create(:variant, product: shop_product, unit_value: "1000", price: 6.00, option_values: []) } let!(:enterprise_fee) { create(:enterprise_fee, amount: 1.75) } let!(:order_cycle) { create(:simple_order_cycle, coordinator: shop, orders_open_at: 2.days.from_now, orders_close_at: 7.days.from_now) } @@ -414,22 +414,22 @@ feature 'Subscriptions' do describe "allowed variants" do let!(:customer) { create(:customer, enterprise: shop, allow_charges: true) } let!(:credit_card) { create(:credit_card, user: customer.user) } - let!(:shop_product) { create(:product, supplier: shop, distributors: [shop]) } + let!(:shop_product) { create(:product, supplier: shop) } let!(:shop_variant) { create(:variant, product: shop_product, unit_value: "2000") } let!(:permitted_supplier) do create(:supplier_enterprise).tap do |supplier| create(:enterprise_relationship, child: shop, parent: supplier, permissions_list: [:add_to_order_cycle]) end end - let!(:permitted_supplier_product) { create(:product, supplier: permitted_supplier, distributors: [shop]) } + let!(:permitted_supplier_product) { create(:product, supplier: permitted_supplier) } let!(:permitted_supplier_variant) { create(:variant, product: permitted_supplier_product, unit_value: "2000") } - let!(:incoming_exchange_product) { create(:product, distributors: [shop]) } + let!(:incoming_exchange_product) { create(:product) } let!(:incoming_exchange_variant) do create(:variant, product: incoming_exchange_product, unit_value: "2000").tap do |variant| create(:exchange, order_cycle: order_cycle, incoming: true, receiver: shop, variants: [variant]) end end - let!(:outgoing_exchange_product) { create(:product, distributors: [shop]) } + let!(:outgoing_exchange_product) { create(:product) } let!(:outgoing_exchange_variant) do create(:variant, product: outgoing_exchange_product, unit_value: "2000").tap do |variant| create(:exchange, order_cycle: order_cycle, incoming: false, receiver: shop, variants: [variant]) diff --git a/spec/lib/open_food_network/group_buy_report_spec.rb b/spec/lib/open_food_network/group_buy_report_spec.rb index 252c352c31..91b7f15e0a 100644 --- a/spec/lib/open_food_network/group_buy_report_spec.rb +++ b/spec/lib/open_food_network/group_buy_report_spec.rb @@ -13,7 +13,6 @@ module OpenFoodNetwork @variant1 = create(:variant) @variant1.product.supplier = @supplier1 @variant1.product.save! - product_distribution = create(:product_distribution, :product => @variant1.product, :distributor => distributor) shipping_instructions = "pick up on thursday please!" order1 = create(:order, :distributor => distributor, :bill_address => bill_address, :special_instructions => shipping_instructions) @@ -28,7 +27,6 @@ module OpenFoodNetwork @variant2 = create(:variant) @variant2.product.supplier = @supplier1 @variant2.product.save! - product_distribution = create(:product_distribution, :product => @variant2.product, :distributor => distributor) line_item22 = create(:line_item, :variant => @variant2, :order => order2) order2.line_items << line_item22 @@ -38,7 +36,6 @@ module OpenFoodNetwork @variant3 = create(:variant, :weight => nil) @variant3.product.supplier = @supplier2 @variant3.product.save! - product_distribution = create(:product_distribution, :product => @variant3.product, :distributor => distributor) order3 = create(:order, :distributor => distributor, :bill_address => bill_address, :special_instructions => shipping_instructions) line_item31 = create(:line_item, :variant => @variant3, :order => order3)