diff --git a/app/models/spree/product.rb b/app/models/spree/product.rb index f07dff0375..bedde7561a 100755 --- a/app/models/spree/product.rb +++ b/app/models/spree/product.rb @@ -78,8 +78,7 @@ module Spree where(producer_properties: { property_id: property_ids }). or( where(spree_product_properties: { property_id: property_ids }) - ). - distinct + ) } delegate_belongs_to :master, :sku, :price, :currency, :display_amount, :display_price, :weight, diff --git a/spec/controllers/api/v0/order_cycles_controller_spec.rb b/spec/controllers/api/v0/order_cycles_controller_spec.rb index 8faac2bd71..431e05db01 100644 --- a/spec/controllers/api/v0/order_cycles_controller_spec.rb +++ b/spec/controllers/api/v0/order_cycles_controller_spec.rb @@ -63,12 +63,16 @@ module Api end context "with property filters" do + before do + product1.update!(properties: [property1, property2]) + end + it "filters by product property" do api_get :products, id: order_cycle.id, distributor: distributor.id, q: { with_properties: [property1.id, property2.id] } expect(response.status).to eq 200 - expect(product_ids).to include product1.id, product2.id + expect(product_ids).to eq [product1.id, product2.id] expect(product_ids).to_not include product3.id end @@ -87,7 +91,7 @@ module Api q: { with_properties: [supplier_property.id] } expect(response.status).to eq 200 - expect(product_ids).to include product1.id, product2.id + expect(product_ids).to eq [product1.id, product2.id] expect(product_ids).to_not include product3.id end end diff --git a/spec/system/consumer/shopping/products_spec.rb b/spec/system/consumer/shopping/products_spec.rb index cf972f71f1..c310d6ef3e 100644 --- a/spec/system/consumer/shopping/products_spec.rb +++ b/spec/system/consumer/shopping/products_spec.rb @@ -130,7 +130,6 @@ describe "As a consumer I want to view products", js: true do toggle_filter property.presentation end - pending("Closing issue #9046") expect(page).to have_content variant.name.to_s expect(page).not_to have_content variant2.name.to_s end