|
44 | 44 | import com.adobe.cq.commerce.core.components.internal.services.urlformats.CategoryPageWithUrlKey; |
45 | 45 | import com.adobe.cq.commerce.core.components.internal.services.urlformats.ProductPageWithCategoryAndUrlKey; |
46 | 46 | import com.adobe.cq.commerce.core.components.internal.services.urlformats.ProductPageWithSku; |
| 47 | +import com.adobe.cq.commerce.core.components.internal.services.urlformats.ProductPageWithSkuAndUrlKey; |
47 | 48 | import com.adobe.cq.commerce.core.components.internal.services.urlformats.ProductPageWithUrlPath; |
48 | 49 | import com.adobe.cq.commerce.core.components.services.ComponentsConfiguration; |
49 | 50 | import com.adobe.cq.commerce.core.components.services.urls.CategoryUrlFormat; |
@@ -93,6 +94,8 @@ public void setup() throws Exception { |
93 | 94 |
|
94 | 95 | Utils.setupHttpResponse("graphql/magento-graphql-product-result.json", httpClient, HttpStatus.SC_OK, |
95 | 96 | "{products(filter:{sku:{eq:\"MJ01\"}}"); |
| 97 | + Utils.setupHttpResponse("graphql/magento-graphql-product-result-url-parameters.json", httpClient, HttpStatus.SC_OK, |
| 98 | + "{products(filter:{sku:{eq:\"MJ03\"}}"); |
96 | 99 | Utils.setupHttpResponse("graphql/magento-graphql-product-not-found-result.json", httpClient, HttpStatus.SC_OK, |
97 | 100 | "{products(filter:{sku:{eq:\"MJ02\"}}"); |
98 | 101 | Utils.setupHttpResponse("graphql/magento-graphql-product-sku.json", httpClient, HttpStatus.SC_OK, |
@@ -224,6 +227,21 @@ public void testProductUrlOnlySKU() { |
224 | 227 | verify(graphqlClient, never()).execute(any(), any(), any(), any()); |
225 | 228 | } |
226 | 229 |
|
| 230 | + @Test |
| 231 | + public void testProductUrlWithSKUProductNotFound() { |
| 232 | + Page page = context.currentPage("/content/product-page"); |
| 233 | + MockOsgi.deactivate(urlProvider, context.bundleContext()); |
| 234 | + MockOsgi.activate(urlProvider, context.bundleContext(), "productPageUrlFormat", ProductPageWithSkuAndUrlKey.PATTERN); |
| 235 | + |
| 236 | + // Not found, sku set |
| 237 | + String url = urlProvider.toProductUrl(request, page, "MJ02"); |
| 238 | + assertEquals("/content/product-page.html/MJ02.html", url); |
| 239 | + |
| 240 | + // found, parameters queried without sku set |
| 241 | + url = urlProvider.toProductUrl(request, page, "MJ03"); |
| 242 | + assertEquals("/content/product-page.html/MJ03/test-url-key.html", url); |
| 243 | + } |
| 244 | + |
227 | 245 | @Test |
228 | 246 | public void testProductPageWithinAnotherProductPagesContext() { |
229 | 247 | Page page = context.currentPage("/content/product-page"); |
|
0 commit comments