mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-02-27 01:43:22 +00:00
Fixing up a bug in the aggregate filtering
This commit is contained in:
@@ -42,7 +42,9 @@ module OpenFoodNetwork
|
||||
end
|
||||
|
||||
def filter(variants)
|
||||
filter_on_hand filter_to_supplier filter_to_distributor filter_to_order_cycle variants
|
||||
# NOTE: Ordering matters.
|
||||
# filter_to_order_cycle and filter_to_distributor return Arrays not Arel
|
||||
filter_to_distributor filter_to_order_cycle filter_on_hand filter_to_supplier variants
|
||||
end
|
||||
|
||||
def filter_on_hand(variants)
|
||||
|
||||
@@ -130,6 +130,20 @@ module OpenFoodNetwork
|
||||
subject.stub(:params).and_return(order_cycle_id: order_cycle.id)
|
||||
subject.filter(variants).should == [product1.master]
|
||||
end
|
||||
|
||||
it "should do all the filters at once" do
|
||||
distributor = create(:distributor_enterprise)
|
||||
product1 = create(:simple_product, supplier: supplier, distributors: [distributor])
|
||||
product2 = create(:simple_product, supplier: supplier, distributors: [distributor])
|
||||
order_cycle = create(:simple_order_cycle, suppliers: [supplier], distributors: [distributor], variants: [product1.master])
|
||||
|
||||
subject.stub(:params).and_return(
|
||||
order_cycle_id: order_cycle.id,
|
||||
supplier_id: supplier.id,
|
||||
distributor_id: distributor.id,
|
||||
report_type: 'inventory')
|
||||
subject.filter(variants)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user