mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-25 20:46:48 +00:00
Merge pull request #8471 from jibees/7885-duplicate-product-in-order-cycle
Use distinct to return unique product list for scope `visible_for`
This commit is contained in:
@@ -159,7 +159,8 @@ module Spree
|
||||
joins('
|
||||
LEFT OUTER JOIN inventory_items AS o_inventory_items
|
||||
ON (o_spree_variants.id = o_inventory_items.variant_id)').
|
||||
where('o_inventory_items.enterprise_id = (?) AND visible = (?)', enterprise, true)
|
||||
where('o_inventory_items.enterprise_id = (?) AND visible = (?)', enterprise, true).
|
||||
distinct
|
||||
}
|
||||
|
||||
# -- Scopes
|
||||
|
||||
@@ -617,18 +617,26 @@ module Spree
|
||||
let(:enterprise) { create(:distributor_enterprise) }
|
||||
let!(:new_variant) { create(:variant) }
|
||||
let!(:hidden_variant) { create(:variant) }
|
||||
let!(:visible_variant) { create(:variant) }
|
||||
|
||||
let!(:product) { create(:product) }
|
||||
let!(:visible_variant1) { create(:variant, product: product) }
|
||||
let!(:visible_variant2) { create(:variant, product: product) }
|
||||
|
||||
let!(:hidden_inventory_item) {
|
||||
create(:inventory_item, enterprise: enterprise, variant: hidden_variant, visible: false )
|
||||
}
|
||||
let!(:visible_inventory_item) {
|
||||
create(:inventory_item, enterprise: enterprise, variant: visible_variant, visible: true )
|
||||
let!(:visible_inventory_item1) {
|
||||
create(:inventory_item, enterprise: enterprise, variant: visible_variant1, visible: true )
|
||||
}
|
||||
let!(:visible_inventory_item2) {
|
||||
create(:inventory_item, enterprise: enterprise, variant: visible_variant2, visible: true )
|
||||
}
|
||||
|
||||
let!(:products) { Spree::Product.visible_for(enterprise) }
|
||||
|
||||
it "lists any products with variants that are listed as visible=true" do
|
||||
expect(products).to include visible_variant.product
|
||||
expect(products.length).to eq(1)
|
||||
expect(products).to include product
|
||||
expect(products).to_not include new_variant.product, hidden_variant.product
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user