From a8373b7bef5e009a8a77875b962047d46b52a14a Mon Sep 17 00:00:00 2001 From: Rohan Mitchell Date: Wed, 12 Mar 2014 13:34:05 +1100 Subject: [PATCH] Fix specs: stale data --- app/models/order_cycle.rb | 2 +- spec/models/exchange_spec.rb | 2 ++ spec/models/order_cycle_spec.rb | 5 +++++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/app/models/order_cycle.rb b/app/models/order_cycle.rb index 1f98e8f7c4..f934a4d632 100644 --- a/app/models/order_cycle.rb +++ b/app/models/order_cycle.rb @@ -23,7 +23,7 @@ class OrderCycle < ActiveRecord::Base scope :distributing_product, lambda { |product| joins(:exchanges => :variants). merge(Exchange.outgoing). - where('spree_variants.id IN (?)', product.variants_including_master.map(&:id)). + where('spree_variants.id IN (?)', product.variants_including_master.pluck(:id)). select('DISTINCT order_cycles.*') } scope :with_distributor, lambda { |distributor| diff --git a/spec/models/exchange_spec.rb b/spec/models/exchange_spec.rb index 7095dd03f9..870025b29f 100644 --- a/spec/models/exchange_spec.rb +++ b/spec/models/exchange_spec.rb @@ -124,6 +124,7 @@ describe Exchange do p = create(:simple_product) ex = create(:exchange) ex.variants << p.master + p.reload Exchange.with_product(p).should == [ex] end @@ -133,6 +134,7 @@ describe Exchange do v = create(:variant, product: p) ex = create(:exchange) ex.variants << v + p.reload Exchange.with_product(p).should == [ex] end diff --git a/spec/models/order_cycle_spec.rb b/spec/models/order_cycle_spec.rb index 47e49a73e3..cdfe6c5828 100644 --- a/spec/models/order_cycle_spec.rb +++ b/spec/models/order_cycle_spec.rb @@ -63,6 +63,8 @@ describe OrderCycle do p = create(:product) d = create(:distributor_enterprise) oc = create(:simple_order_cycle, distributors: [d], variants: [p.master]) + p.reload + OrderCycle.distributing_product(p).should == [oc] end @@ -71,6 +73,8 @@ describe OrderCycle do v = create(:variant, product: p) d = create(:distributor_enterprise) oc = create(:simple_order_cycle, distributors: [d], variants: [v]) + p.reload + OrderCycle.distributing_product(p).should == [oc] end @@ -80,6 +84,7 @@ describe OrderCycle do oc = create(:simple_order_cycle) ex = create(:exchange, order_cycle: oc, sender: s, receiver: oc.coordinator) ex.variants << p.master + p.reload OrderCycle.distributing_product(p).should == [] end