From e3d1f5256bbd21647976b2a96cce752da10d8f8a Mon Sep 17 00:00:00 2001 From: Yih Yang Date: Thu, 29 Oct 2020 22:06:35 +0800 Subject: [PATCH] added product sorting --- app/services/exchange_products_renderer.rb | 2 +- spec/services/exchange_products_renderer_spec.rb | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/app/services/exchange_products_renderer.rb b/app/services/exchange_products_renderer.rb index d1a0b0a225..19b3133641 100644 --- a/app/services/exchange_products_renderer.rb +++ b/app/services/exchange_products_renderer.rb @@ -31,7 +31,7 @@ class ExchangeProductsRenderer end def supplied_products(enterprises_query_matcher) - products_relation = Spree::Product.where(supplier_id: enterprises_query_matcher) + products_relation = Spree::Product.where(supplier_id: enterprises_query_matcher).order(:name) filter_visible(products_relation) end diff --git a/spec/services/exchange_products_renderer_spec.rb b/spec/services/exchange_products_renderer_spec.rb index b2eba1c6c3..21e374d4ac 100644 --- a/spec/services/exchange_products_renderer_spec.rb +++ b/spec/services/exchange_products_renderer_spec.rb @@ -14,6 +14,12 @@ describe ExchangeProductsRenderer do expect(products.first.supplier.name).to eq exchange.variants.first.product.supplier.name end + + it "loads products in order" do + sorted_products_names = products.pluck(:name).sort + + expect(products.pluck(:name)).to eq(sorted_products_names) + end end describe "for an outgoing exchange" do @@ -27,6 +33,12 @@ describe ExchangeProductsRenderer do expect(suppliers).to include products.second.supplier.name end + it "loads products in order" do + sorted_products_names = products.pluck(:name).sort + + expect(products.pluck(:name)).to eq(sorted_products_names) + end + context "showing products from coordinator inventory only" do before { order_cycle.update prefers_product_selection_from_coordinator_inventory_only: true }