diff --git a/all/pom.xml b/all/pom.xml
index a4d43b86..30798c13 100644
--- a/all/pom.xml
+++ b/all/pom.xml
@@ -137,6 +137,21 @@
+
+ com.adobe.aem
+ aemanalyser-maven-plugin
+ 1.4.10
+ true
+
+
+ analyse-project
+ verify
+
+ project-analyse
+
+
+
+
@@ -202,6 +217,11 @@
+
+ aem-cif-sdk-api
+ com.adobe.aem
+ ${aem.cif.sdk.api}
+
com.adobe.aem.guides
aem-cif-guides-venia.ui.apps
diff --git a/classic/all/pom.xml b/classic/all/pom.xml
index 1c8042d3..ac337dad 100644
--- a/classic/all/pom.xml
+++ b/classic/all/pom.xml
@@ -123,11 +123,6 @@
magento-graphql
/apps/venia-vendor-packages/application/install
-
- com.adobe.commerce.cif
- graphql-client
- /apps/venia-vendor-packages/application/install
-
com.adobe.cq
core.wcm.components.content
@@ -310,10 +305,6 @@
com.adobe.commerce.cif
core-cif-components-extensions-product-recs-bundle
-
- com.adobe.commerce.cif
- graphql-client
-
com.adobe.commerce.cif
magento-graphql
diff --git a/classic/ui.config/src/main/content/jcr_root/apps/venia/osgiconfig-classic/config.author/com.adobe.granite.resourcestatus.impl.CompositeStatusType~editor.config.cfg.json b/classic/ui.config/src/main/content/jcr_root/apps/venia/osgiconfig-classic/config.author/com.adobe.granite.resourcestatus.impl.CompositeStatusType~editor.config.cfg.json
new file mode 100644
index 00000000..b85624ec
--- /dev/null
+++ b/classic/ui.config/src/main/content/jcr_root/apps/venia/osgiconfig-classic/config.author/com.adobe.granite.resourcestatus.impl.CompositeStatusType~editor.config.cfg.json
@@ -0,0 +1,8 @@
+{
+ "name": "editor",
+ "types": [
+ "catalog-page",
+ "workflow",
+ "launches"
+ ]
+}
\ No newline at end of file
diff --git a/core/src/main/java/com/venia/core/models/commerce/MyProductTeaserImpl.java b/core/src/main/java/com/venia/core/models/commerce/MyProductTeaserImpl.java
index c6f77a17..3a26e5a3 100644
--- a/core/src/main/java/com/venia/core/models/commerce/MyProductTeaserImpl.java
+++ b/core/src/main/java/com/venia/core/models/commerce/MyProductTeaserImpl.java
@@ -20,11 +20,14 @@
import javax.annotation.PostConstruct;
import com.adobe.cq.commerce.core.components.datalayer.ProductData;
+import com.adobe.cq.commerce.core.components.models.common.CombinedSku;
import com.adobe.cq.commerce.core.components.models.common.CommerceIdentifier;
import com.adobe.cq.commerce.core.components.models.common.Price;
import com.adobe.cq.commerce.core.components.models.productteaser.ProductTeaser;
import com.adobe.cq.commerce.core.components.models.retriever.AbstractProductRetriever;
+import com.adobe.cq.commerce.magento.graphql.FilterRangeTypeInput;
+
import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.resource.ValueMap;
import org.apache.sling.models.annotations.Model;
@@ -58,6 +61,14 @@ public void initModel() {
// automatically take care of executing your query as soon
// as you try to access any product property.
productRetriever.extendProductQueryWith(p -> p.createdAt());
+
+ // Extend the product attribute query by passing a partial filter to the ProductRetriever.
+ // Alternatively you can also return your own instance of ProductAttributeFilterInput to
+ // completely replace the filter.
+ productRetriever.extendProductFilterWith(f -> f
+ .setPrice(new FilterRangeTypeInput()
+ .setFrom("0")
+ .setTo("50000")));
}
}
@@ -150,4 +161,10 @@ public boolean getAddToWishListEnabled() {
public String getLinkTarget() {
return productTeaser.getLinkTarget();
}
+
+ @Override
+ public CombinedSku getCombinedSku() {
+ return productTeaser.getCombinedSku();
+ }
+
}
diff --git a/core/src/test/java/com/venia/core/models/commerce/MyProductTeaserImplTest.java b/core/src/test/java/com/venia/core/models/commerce/MyProductTeaserImplTest.java
index 946edbb3..7a42319b 100644
--- a/core/src/test/java/com/venia/core/models/commerce/MyProductTeaserImplTest.java
+++ b/core/src/test/java/com/venia/core/models/commerce/MyProductTeaserImplTest.java
@@ -14,6 +14,7 @@
package com.venia.core.models.commerce;
import com.adobe.cq.commerce.core.components.datalayer.ProductData;
+import com.adobe.cq.commerce.core.components.models.common.CombinedSku;
import com.adobe.cq.commerce.core.components.models.common.CommerceIdentifier;
import com.adobe.cq.commerce.core.components.models.common.Price;
import com.adobe.cq.commerce.core.components.models.productteaser.ProductTeaser;
@@ -221,6 +222,15 @@ void testIsVirtualProduct() throws Exception {
Assertions.assertFalse(underTest.isVirtualProduct());
}
+ @Test
+ public void testGetCombinedSku() throws Exception {
+ setup(PRODUCTTEASER_NO_BADGE);
+ Mockito.doReturn(new CombinedSku("foo", "bar")).when(productTeaser).getCombinedSku();
+ Assertions.assertNotNull(underTest.getCombinedSku());
+ Assertions.assertEquals("foo", underTest.getCombinedSku().getBaseSku());
+ Assertions.assertEquals("bar", underTest.getCombinedSku().getVariantSku());
+ }
+
@Test
void testGetCommerceIdentifier() throws Exception {
diff --git a/pom.xml b/pom.xml
index 52cce4e1..5662880f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -87,15 +87,16 @@
admin
admin
2.18.6
- 2.10.0
+ 2.11.0
1.7.10
- 9.0.0-magento242ee
+ 9.1.0-magento242ee
5.1.2
UTF-8
UTF-8
6.5.0
0.8.7
2020.9.4277.20200929T030741Z-200924
+ 2022.08.02.00
Venia
diff --git a/ui.apps/src/main/content/jcr_root/apps/venia/clientlibs/clientlib-base/.content.xml b/ui.apps/src/main/content/jcr_root/apps/venia/clientlibs/clientlib-base/.content.xml
index ba196c8f..db07bb44 100644
--- a/ui.apps/src/main/content/jcr_root/apps/venia/clientlibs/clientlib-base/.content.xml
+++ b/ui.apps/src/main/content/jcr_root/apps/venia/clientlibs/clientlib-base/.content.xml
@@ -3,4 +3,4 @@
jcr:primaryType="cq:ClientLibraryFolder"
allowProxy="{Boolean}true"
categories="[venia.base]"
- embed="[core.wcm.components.accordion.v1,core.wcm.components.tabs.v1,core.wcm.components.carousel.v1,core.wcm.components.image.v2,core.wcm.components.breadcrumb.v2,core.wcm.components.search.v1,core.wcm.components.form.text.v2,core.wcm.components.pdfviewer.v1,core.wcm.components.commons.datalayer.v1,venia.grid]"/>
+ embed="[core.wcm.components.accordion.v1,core.wcm.components.tabs.v1,core.wcm.components.carousel.v1,core.wcm.components.image.v2,core.wcm.components.breadcrumb.v2,core.wcm.components.search.v1,core.wcm.components.form.text.v2,core.wcm.components.pdfviewer.v1,venia.grid]"/>
diff --git a/ui.apps/src/main/content/jcr_root/apps/venia/clientlibs/clientlib-cif/.content.xml b/ui.apps/src/main/content/jcr_root/apps/venia/clientlibs/clientlib-cif/.content.xml
index fd434376..3e27f46d 100644
--- a/ui.apps/src/main/content/jcr_root/apps/venia/clientlibs/clientlib-cif/.content.xml
+++ b/ui.apps/src/main/content/jcr_root/apps/venia/clientlibs/clientlib-cif/.content.xml
@@ -5,4 +5,4 @@
cssProcessor="[default:none,min:none]"
jsProcessor="[default:none,min:none]"
categories="[venia.cif]"
- embed="[core.cif.components.common,core.cif.components.product.v3,core.cif.components.productcarousel.v1,core.cif.components.productcollection.v2,core.cif.components.productteaser.v1,core.cif.components.searchbar.v2,core.cif.components.header.v1,core.cif.components.carousel.v1,core.cif.components.categorycarousel.v1,core.cif.components.featuredcategorylist.v1,core.cif.components.storefront-events.v1,core.cif.components.extensions.product-recs.storefront-events-collector.v1]" />
+ embed="[core.cif.components.common,core.cif.components.product.v3,core.cif.components.productcarousel.v1,core.cif.components.productcollection.v2,core.cif.components.productteaser.v1,core.cif.components.searchbar.v2,core.cif.components.header.v1,core.cif.components.carousel.v1,core.cif.components.categorycarousel.v1,core.cif.components.featuredcategorylist.v1,core.cif.components.storefront-events.v1,core.cif.components.extensions.product-recs.storefront-events-collector.v1,core.wcm.components.commons.site.link]" />
diff --git a/ui.apps/src/main/content/jcr_root/apps/venia/components/commerce/productteaser/productteaser.html b/ui.apps/src/main/content/jcr_root/apps/venia/components/commerce/productteaser/productteaser.html
index f73ef420..1a7ba700 100644
--- a/ui.apps/src/main/content/jcr_root/apps/venia/components/commerce/productteaser/productteaser.html
+++ b/ui.apps/src/main/content/jcr_root/apps/venia/components/commerce/productteaser/productteaser.html
@@ -23,6 +23,7 @@
diff --git a/ui.content/src/main/content/jcr_root/conf/venia/settings/cloudconfigs/commerce/.content.xml b/ui.content/src/main/content/jcr_root/conf/venia/settings/cloudconfigs/commerce/.content.xml
index 38b14b13..ff6c2b97 100644
--- a/ui.content/src/main/content/jcr_root/conf/venia/settings/cloudconfigs/commerce/.content.xml
+++ b/ui.content/src/main/content/jcr_root/conf/venia/settings/cloudconfigs/commerce/.content.xml
@@ -10,5 +10,6 @@
cq:graphqlClient="default"
magentoRootCategoryId="Mg=="
magentoStore="default"
- enableUIDSupport="true"/>
+ enableUIDSupport="true"
+ enableClientSidePriceLoadin="{Boolean}true"/>
diff --git a/ui.content/src/main/content/jcr_root/conf/venia/settings/wcm/policies/.content.xml b/ui.content/src/main/content/jcr_root/conf/venia/settings/wcm/policies/.content.xml
index d1e9873b..52c00c52 100644
--- a/ui.content/src/main/content/jcr_root/conf/venia/settings/wcm/policies/.content.xml
+++ b/ui.content/src/main/content/jcr_root/conf/venia/settings/wcm/policies/.content.xml
@@ -362,6 +362,12 @@
showTitle="true"
showImage="true">
+
+
+
+ sling:resourceType="venia/components/page"
+ navRoot="{Boolean}true">
+
+
+
+
diff --git a/ui.content/src/main/content/jcr_root/content/experience-fragments/venia/us/en/site/products/productlist-content/master/.content.xml b/ui.content/src/main/content/jcr_root/content/experience-fragments/venia/us/en/site/products/productlist-content/master/.content.xml
new file mode 100755
index 00000000..c217ee40
--- /dev/null
+++ b/ui.content/src/main/content/jcr_root/content/experience-fragments/venia/us/en/site/products/productlist-content/master/.content.xml
@@ -0,0 +1,61 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ui.content/src/main/content/jcr_root/content/venia/language-masters/en/products/category-page/.content.xml b/ui.content/src/main/content/jcr_root/content/venia/language-masters/en/products/category-page/.content.xml
index b2bf45c7..f1fd1ea2 100644
--- a/ui.content/src/main/content/jcr_root/content/venia/language-masters/en/products/category-page/.content.xml
+++ b/ui.content/src/main/content/jcr_root/content/venia/language-masters/en/products/category-page/.content.xml
@@ -20,7 +20,14 @@
layout="responsiveGrid">
+ sling:resourceType="venia/components/commerce/productlist">
+
+
+
+
diff --git a/ui.content/src/main/content/jcr_root/content/venia/us/en/products/category-page/.content.xml b/ui.content/src/main/content/jcr_root/content/venia/us/en/products/category-page/.content.xml
index c014be69..a6118009 100755
--- a/ui.content/src/main/content/jcr_root/content/venia/us/en/products/category-page/.content.xml
+++ b/ui.content/src/main/content/jcr_root/content/venia/us/en/products/category-page/.content.xml
@@ -25,9 +25,15 @@
sling:resourceType="venia/components/container"
layout="responsiveGrid">
+ jcr:primaryType="nt:unstructured"
+ sling:resourceType="venia/components/commerce/productlist">
+
+
+
+
diff --git a/ui.frontend/package-lock.json b/ui.frontend/package-lock.json
index 0a6e36f0..935f529e 100644
--- a/ui.frontend/package-lock.json
+++ b/ui.frontend/package-lock.json
@@ -5,14 +5,14 @@
"requires": true,
"dependencies": {
"@adobe/aem-core-cif-product-recs-extension": {
- "version": "2.9.0",
- "resolved": "https://registry.npmjs.org/@adobe/aem-core-cif-product-recs-extension/-/aem-core-cif-product-recs-extension-2.9.0.tgz",
- "integrity": "sha512-Qbab587LGpku/ShEFfUeU8gPERqRDZFqEUiNoS5Pingo7ZgcaU4S2ct0FMpimha7wu+sjKrU9/JElyXSbJhtuQ=="
+ "version": "2.11.0",
+ "resolved": "https://registry.npmjs.org/@adobe/aem-core-cif-product-recs-extension/-/aem-core-cif-product-recs-extension-2.11.0.tgz",
+ "integrity": "sha512-u2bWXzhzYW6SlVP6XnCd6nGJStf9bGscmXZl4Rlb1Y1YQxFAHtaOd1LAHEvfZW9gMUA/xYbS7YprnC6TzNFyDw=="
},
"@adobe/aem-core-cif-react-components": {
- "version": "2.9.0",
- "resolved": "https://registry.npmjs.org/@adobe/aem-core-cif-react-components/-/aem-core-cif-react-components-2.9.0.tgz",
- "integrity": "sha512-zcCufsgCR4vq3eOsWxRXnIBeFLjsl6XzoI0IiYrVn+nUhYux2LNoTr584YtEUNV5329d6oVGlO+PLl8pyz3r8Q=="
+ "version": "2.11.0",
+ "resolved": "https://registry.npmjs.org/@adobe/aem-core-cif-react-components/-/aem-core-cif-react-components-2.11.0.tgz",
+ "integrity": "sha512-loGp11TrUeFpjjwcMqp7B70xQe1kJxbIlE23JiVJX/E3AWGsXYAc1pbMaJEv8wFJqhNjYL1UrKSYjCrvDPdVBA=="
},
"@apollo/client": {
"version": "3.5.6",
diff --git a/ui.frontend/package.json b/ui.frontend/package.json
index b54c7c32..71c8a2fc 100644
--- a/ui.frontend/package.json
+++ b/ui.frontend/package.json
@@ -87,8 +87,8 @@
"webpack-merge": "^4.2.1"
},
"dependencies": {
- "@adobe/aem-core-cif-product-recs-extension": "2.9.0",
- "@adobe/aem-core-cif-react-components": "2.9.0",
+ "@adobe/aem-core-cif-product-recs-extension": "2.11.0",
+ "@adobe/aem-core-cif-react-components": "2.11.0",
"@apollo/client": "^3.5.5",
"@babel/runtime": "^7.4.5",
"@magento/peregrine": "11.0.0",
diff --git a/ui.frontend/src/main/site/_base.scss b/ui.frontend/src/main/site/_base.scss
index 8f136ee7..3abdc61f 100644
--- a/ui.frontend/src/main/site/_base.scss
+++ b/ui.frontend/src/main/site/_base.scss
@@ -88,3 +88,11 @@ button:disabled {
cursor: default;
touch-action: none;
}
+
+.cmp-link__screen-reader-only {
+ position: absolute;
+ width: 1px;
+ clip: rect(0 0 0 0);
+ overflow: hidden;
+ white-space: nowrap;
+}
\ No newline at end of file
diff --git a/ui.frontend/src/main/styles/commerce/_productlist.scss b/ui.frontend/src/main/styles/commerce/_productlist.scss
index 96425723..3f03a48d 100644
--- a/ui.frontend/src/main/styles/commerce/_productlist.scss
+++ b/ui.frontend/src/main/styles/commerce/_productlist.scss
@@ -42,3 +42,7 @@
text-align: center;
width: 150px;
}
+
+.marketing-content__row-2 {
+ grid-row: 2;
+}
diff --git a/ui.tests/test-module/specs/venia/commerce-page-dialogs.js b/ui.tests/test-module/specs/venia/commerce-page-dialogs.js
index d8dceb17..d5645aa4 100644
--- a/ui.tests/test-module/specs/venia/commerce-page-dialogs.js
+++ b/ui.tests/test-module/specs/venia/commerce-page-dialogs.js
@@ -22,6 +22,7 @@ describe('Commerce Page Component Dialog', function () {
const landing_page = '/content/venia/us/en';
const category_page = '/content/venia/us/en/products/category-page';
const product_page = '/content/venia/us/en/products/product-page';
+ const content_page = '/content/venia/us/en/cart-details';
let onboardingHdler;
@@ -46,7 +47,7 @@ describe('Commerce Page Component Dialog', function () {
onboardingHdler.disable();
});
- it('Landing page dialog extensions are displayed', () => {
+ it('shows dialog extensions on landing page', () => {
// Landing page properties
browser.url(`${page_properties}?item=${encodeURIComponent(`${landing_page}`)}`);
@@ -59,11 +60,12 @@ describe('Commerce Page Component Dialog', function () {
expect(commercePanel).toBeDisplayed();
expect(commercePanel.$('.coral-Form-fieldset-legend=Commerce Pages')).toBeDisplayed();
+ expect(commercePanel.$('.coral-Form-fieldset-legend=Associated Content')).not.toBeDisplayed();
let fields = commercePanel.$$('.coral-Form-fieldwrapper');
// check fields
- expect(fields.length).toEqual(5);
+ expect(fields.length).toEqual(6);
expect(fields[0].$('label')).toHaveText('Product Page');
expect(fields[0].$('foundation-autocomplete[name="./cq:cifProductPage"]')).toExist();
expect(fields[1].$('label')).toHaveText('Category Page');
@@ -74,9 +76,12 @@ describe('Commerce Page Component Dialog', function () {
expect(fields[3].$('foundation-autocomplete[name="./cq:cifAddressBookPage"]')).toExist();
expect(fields[4].$('label')).toHaveText('My Account Page');
expect(fields[4].$('foundation-autocomplete[name="./cq:cifMyAccountPage"]')).toExist();
+ expect(fields[5].$('coral-checkbox')).toExist();
+ expect(fields[5].$('label')).toHaveText('Landing Page');
+ expect(fields[5].$('input[name="./navRoot"]')).toExist();
});
- it('Category page dialog extensions are displayed', () => {
+ it('shows dialog extensions on category page', () => {
// Category page properties
browser.url(`${page_properties}?item=${encodeURIComponent(`${category_page}`)}`);
@@ -89,6 +94,7 @@ describe('Commerce Page Component Dialog', function () {
expect(commercePanel).toBeDisplayed();
expect(commercePanel.$('.coral-Form-fieldset-legend=Commerce Settings')).toBeDisplayed();
+ expect(commercePanel.$('.coral-Form-fieldset-legend=Associated Content')).not.toBeDisplayed();
let fields = commercePanel.$$('.coral-Form-fieldwrapper');
@@ -103,7 +109,7 @@ describe('Commerce Page Component Dialog', function () {
expect(fields[1].$('input[name="./includesSubCategories"]')).toExist();
});
- it('Product page dialog extensions are displayed', () => {
+ it('shows dialog extensions on product page', () => {
// Product page properties
browser.url(`${page_properties}?item=${encodeURIComponent(`${product_page}`)}`);
@@ -116,6 +122,7 @@ describe('Commerce Page Component Dialog', function () {
expect(commercePanel).toBeDisplayed();
expect(commercePanel.$('.coral-Form-fieldset-legend=Commerce Settings')).toBeDisplayed();
+ expect(commercePanel.$('.coral-Form-fieldset-legend=Associated Content')).not.toBeDisplayed();
let fields = commercePanel.$$('.coral-Form-fieldwrapper');
@@ -136,4 +143,33 @@ describe('Commerce Page Component Dialog', function () {
expect(fields[2].$('coral-checkbox')).toExist();
expect(fields[2].$('input[name="./includesSubCategories"]')).toExist();
});
+
+ it('shows dialog extensions on content page', () => {
+ // Content page properties
+ browser.url(`${page_properties}?item=${encodeURIComponent(`${content_page}`)}`);
+
+ // Open Commerce tab
+ let commerceTab = $('coral-tab-label=Commerce');
+ expect(commerceTab).toBeClickable();
+ commerceTab.click();
+
+ let commercePanel = $('coral-panelstack > coral-panel[selected]');
+ expect(commercePanel).toBeDisplayed();
+
+ // Verify associated content fields
+ expect(commercePanel.$('.coral-Form-fieldset-legend=Associated Content')).toBeDisplayed();
+
+ let fieldset = commercePanel.$('.coral-Form-fieldset');
+ expect(fieldset).toBeDisplayed();
+
+ const productField = fieldset.$('product-field');
+ expect(productField).toBeDisplayed();
+ expect(productField).toHaveAttribute('trackingElement', 'associated product');
+ expect(productField).toHaveAttribute('trackingFeature', 'aem:cif:associatedcontentpage');
+
+ const categoryField = fieldset.$('category-field');
+ expect(categoryField).toBeDisplayed();
+ expect(categoryField).toHaveAttribute('trackingElement', 'associated category');
+ expect(categoryField).toHaveAttribute('trackingFeature', 'aem:cif:associatedcontentpage');
+ });
});
diff --git a/ui.tests/test-module/specs/venia/component-dialogs.js b/ui.tests/test-module/specs/venia/component-dialogs.js
index c5641416..e9a66bdf 100644
--- a/ui.tests/test-module/specs/venia/component-dialogs.js
+++ b/ui.tests/test-module/specs/venia/component-dialogs.js
@@ -211,4 +211,43 @@ describe('Component Dialogs', function () {
expect(fields[2].$('label')).toHaveText('ID');
expect(fields[2].$('input[name="./id"]')).toExist();
});
+
+ it('opens the commerce list dialog', () => {
+ addComponentToPage('List', 'Venia - Content');
+ openComponentDialog('list', 'aem:sites:components:dialogs:cif-core-components:list:v1');
+
+ let fields = $$('.cq-dialog-content .coral-Form-fieldwrapper');
+
+ expect(fields[9].$('product-field')).toExist();
+ expect(fields[9].$('product-field')).not.toBeDisplayed();
+ expect(fields[10].$('category-field')).toExist();
+ expect(fields[10].$('category-field')).not.toBeDisplayed();
+
+ // check fields
+ expect(fields[0].$('coral-select')).toHaveAttribute('name', './listFrom');
+ let selectItems = fields[0].$$('coral-select coral-select-item');
+
+ expect(selectItems.length).toEqual(6);
+ expect(selectItems[4]).toHaveValue('productAssociation');
+ expect(selectItems[5]).toHaveValue('categoryAssociation');
+
+ fields[0].$('coral-select').click();
+
+ let itemsSelector =
+ config.aem.type === 'classic'
+ ? 'coral-overlay.is-open coral-selectlist-item[value="productAssociation"]'
+ : 'coral-popover-content coral-selectlist-item[value="productAssociation"]';
+ $(itemsSelector).click();
+ expect(fields[9].$('product-field')).toBeDisplayed();
+ expect(fields[10].$('category-field')).not.toBeDisplayed();
+
+ fields[0].$('coral-select').click();
+ itemsSelector =
+ config.aem.type === 'classic'
+ ? 'coral-overlay.is-open coral-selectlist-item[value="categoryAssociation"]'
+ : 'coral-popover-content coral-selectlist-item[value="categoryAssociation"]';
+ $(itemsSelector).click();
+ expect(fields[9].$('product-field')).not.toBeDisplayed();
+ expect(fields[10].$('category-field')).toBeDisplayed();
+ });
});
diff --git a/ui.tests/test-module/specs/venia/productlist-dialog.js b/ui.tests/test-module/specs/venia/productlist-dialog.js
index 27f0c842..13582d13 100644
--- a/ui.tests/test-module/specs/venia/productlist-dialog.js
+++ b/ui.tests/test-module/specs/venia/productlist-dialog.js
@@ -37,15 +37,18 @@ describe('Product List Component Dialog', function () {
onboardingHdler.enable();
const pageName = `testing-${randomString()}`;
- testing_page = `/content/venia/us/en/${pageName}`;
+ testing_page = `/content/venia/us/en/products/category-page/${pageName}`;
browser.AEMCreatePage({
title: 'Testing Page',
name: pageName,
- parent: '/content/venia/us/en',
- template: '/conf/venia/settings/wcm/templates/page-content'
+ parent: '/content/venia/us/en/products/category-page',
+ template: '/conf/venia/settings/wcm/templates/category-page'
});
browser.pause(1000);
- addComponentToPage();
+
+ browser.url(`${editor_page}${testing_page}.html`);
+ browser.AEMEditorLoaded();
+ browser.EditorOpenSidePanel();
});
after(function () {
@@ -58,27 +61,6 @@ describe('Product List Component Dialog', function () {
}
});
- const addComponentToPage = (name = 'Product List', group = 'Venia - Commerce') => {
- browser.url(`${editor_page}${testing_page}.html`);
- browser.AEMEditorLoaded();
- browser.EditorOpenSidePanel();
-
- // Open the Components tab
- $('coral-tab[title="Components"]').waitAndClick({ x: 1, y: 1 });
-
- // Filter for Commerce components
- $('#components-filter coral-select button').waitAndClick();
- browser.pause(200);
- $(`coral-selectlist-item[value="${group}"]`).waitAndClick();
- expect($('#components-filter coral-select [handle=label]')).toHaveText(group);
-
- // Drag and drop component on the page
- const carouselCmp = $(`div[data-title="${name}"]`);
- expect(carouselCmp).toBeDisplayed();
- const dropTarget = $(`div[data-path="${testing_page}/jcr:content/root/container/container/*"]`);
- carouselCmp.dragAndDrop(dropTarget, 1000);
- };
-
const openComponentDialog = (
node = 'productlist',
trackingId = 'aem:sites:components:dialogs:cif-core-components:productlist:v2'
@@ -104,7 +86,7 @@ describe('Product List Component Dialog', function () {
let fields = dialog.$$('.cq-dialog-content .coral-Form-fieldwrapper');
// check fields
- expect(fields.length).toEqual(6);
+ expect(fields.length).toEqual(7);
expect(fields[0].$('label')).toHaveText('Manual Category Selection');
expect(fields[0].$('category-field')).toExist();
expect(fields[0].$('input[name="./category"]')).toExist();
@@ -120,6 +102,8 @@ describe('Product List Component Dialog', function () {
expect(fields[4].$('input[name="./showImage"]')).toExist();
expect(fields[5].$('label')).toHaveText('ID');
expect(fields[5].$('input[name="./id"]')).toExist();
+ expect(fields[6].$('label')).toHaveText('Experince Fragment placeholders');
+ expect(fields[6].$('coral-multifield[data-granite-coral-multifield-name="./fragments"]')).toExist();
// close the dialog
dialog.$('button[title="Cancel"]').click();