diff --git a/bundles/core/src/main/java/com/adobe/cq/commerce/core/components/internal/models/v1/productlist/ProductListImpl.java b/bundles/core/src/main/java/com/adobe/cq/commerce/core/components/internal/models/v1/productlist/ProductListImpl.java index 55986d978c..088589adfe 100644 --- a/bundles/core/src/main/java/com/adobe/cq/commerce/core/components/internal/models/v1/productlist/ProductListImpl.java +++ b/bundles/core/src/main/java/com/adobe/cq/commerce/core/components/internal/models/v1/productlist/ProductListImpl.java @@ -142,6 +142,7 @@ protected void initModel() { searchOptions.setAttributeFilters(searchFilters); // configure sorting + searchOptions.addSorterKey("relevance", "Relevance", Sorter.Order.ASC); searchOptions.addSorterKey("price", "Price", Sorter.Order.ASC); searchOptions.addSorterKey("name", "Product Name", Sorter.Order.ASC); } diff --git a/bundles/core/src/test/java/com/adobe/cq/commerce/core/components/internal/models/v1/productlist/ProductListImplTest.java b/bundles/core/src/test/java/com/adobe/cq/commerce/core/components/internal/models/v1/productlist/ProductListImplTest.java index bb0613e78b..fa83b183c7 100644 --- a/bundles/core/src/test/java/com/adobe/cq/commerce/core/components/internal/models/v1/productlist/ProductListImplTest.java +++ b/bundles/core/src/test/java/com/adobe/cq/commerce/core/components/internal/models/v1/productlist/ProductListImplTest.java @@ -414,8 +414,8 @@ public void testSorting() { SorterKey currentKey = sorter.getCurrentKey(); Assert.assertNotNull(currentKey); - Assert.assertEquals("price", currentKey.getName()); - Assert.assertEquals("Price", currentKey.getLabel()); + Assert.assertEquals("relevance", currentKey.getName()); + Assert.assertEquals("Relevance", currentKey.getLabel()); Assert.assertEquals(Sorter.Order.ASC, currentKey.getOrder()); Assert.assertTrue(currentKey.isSelected()); @@ -423,26 +423,31 @@ public void testSorting() { Assert.assertNotNull(currentOrderParameters); Assert.assertEquals(resultSet.getAppliedQueryParameters().size() + 2, currentOrderParameters.size()); resultSet.getAppliedQueryParameters().forEach((key, value) -> Assert.assertEquals(value, currentOrderParameters.get(key))); - Assert.assertEquals("price", currentOrderParameters.get(Sorter.PARAMETER_SORT_KEY)); + Assert.assertEquals("relevance", currentOrderParameters.get(Sorter.PARAMETER_SORT_KEY)); Assert.assertEquals("asc", currentOrderParameters.get(Sorter.PARAMETER_SORT_ORDER)); Map oppositeOrderParameters = currentKey.getOppositeOrderParameters(); Assert.assertNotNull(oppositeOrderParameters); Assert.assertEquals(resultSet.getAppliedQueryParameters().size() + 2, oppositeOrderParameters.size()); resultSet.getAppliedQueryParameters().forEach((key, value) -> Assert.assertEquals(value, oppositeOrderParameters.get(key))); - Assert.assertEquals("price", oppositeOrderParameters.get(Sorter.PARAMETER_SORT_KEY)); + Assert.assertEquals("relevance", oppositeOrderParameters.get(Sorter.PARAMETER_SORT_KEY)); Assert.assertEquals("desc", oppositeOrderParameters.get(Sorter.PARAMETER_SORT_ORDER)); List keys = sorter.getKeys(); Assert.assertNotNull(keys); - Assert.assertEquals(2, keys.size()); + Assert.assertEquals(3, keys.size()); SorterKey defaultKey = keys.get(0); Assert.assertEquals(currentKey.getName(), defaultKey.getName()); - SorterKey otherKey = keys.get(1); - Assert.assertEquals("name", otherKey.getName()); - Assert.assertEquals("Product Name", otherKey.getLabel()); - Assert.assertEquals(Sorter.Order.ASC, otherKey.getOrder()); + SorterKey priceKey = keys.get(1); + Assert.assertEquals("price", priceKey.getName()); + Assert.assertEquals("Price", priceKey.getLabel()); + Assert.assertEquals(Sorter.Order.ASC, priceKey.getOrder()); + + SorterKey productNameKey = keys.get(2); + Assert.assertEquals("name", productNameKey.getName()); + Assert.assertEquals("Product Name", productNameKey.getLabel()); + Assert.assertEquals(Sorter.Order.ASC, productNameKey.getOrder()); } @Test