From a2d752aa6c045f72b0a5796f8c4d1e742f2480f8 Mon Sep 17 00:00:00 2001 From: Laurentiu Magureanu Date: Mon, 4 Jul 2022 17:52:42 +0300 Subject: [PATCH 01/13] @releng update CIF components dependency --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 52cce4e1..836557ff 100644 --- a/pom.xml +++ b/pom.xml @@ -87,7 +87,7 @@ admin admin 2.18.6 - 2.10.0 + 2.10.1-SNAPSHOT 1.7.10 9.0.0-magento242ee 5.1.2 From a258a6da77b5707af48ecf261195ee3d7eaa41d9 Mon Sep 17 00:00:00 2001 From: Dirk Rudolph Date: Thu, 7 Jul 2022 14:09:36 +0200 Subject: [PATCH 02/13] CIF-2738: enable client side price loading for product teaser, product carousel and related products (#296) * CIF-2738: extend teaser with clientside loading * enable load clientside prices for related products and product carousel * cover loadClientSidePrice with unit tests * adapt to recent changes * update snapshot dependency --- .../core/models/commerce/MyProductTeaserImpl.java | 7 +++++++ .../core/models/commerce/MyProductTeaserImplTest.java | 10 ++++++++++ .../commerce/productteaser/productteaser.html | 1 + .../venia/settings/cloudconfigs/commerce/.content.xml | 3 ++- 4 files changed, 20 insertions(+), 1 deletion(-) 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..e133c558 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,6 +20,7 @@ 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; @@ -150,4 +151,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/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 @@
+ enableUIDSupport="true" + enableClientSidePriceLoadin="{Boolean}true"/> From 7f0d6f18125faaad78b4112a37e2bc49aedc7bd5 Mon Sep 17 00:00:00 2001 From: Dirk Rudolph Date: Fri, 8 Jul 2022 16:29:37 +0200 Subject: [PATCH 03/13] CIF-2907: add aemanalyzer (#291) * CIF-2907: add aemanalyzer * Update AEM CIF SDK API to latest release --- all/pom.xml | 20 ++++++++++++++++++++ pom.xml | 1 + 2 files changed, 21 insertions(+) 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/pom.xml b/pom.xml index 836557ff..70959922 100644 --- a/pom.xml +++ b/pom.xml @@ -96,6 +96,7 @@ 6.5.0 0.8.7 2020.9.4277.20200929T030741Z-200924 + 2022.07.05.00 Venia From b56d17f3fcd0b1dbb1279bb5bdbd9dbd641eebea Mon Sep 17 00:00:00 2001 From: "Mark J. Becker" Date: Mon, 11 Jul 2022 09:57:23 +0200 Subject: [PATCH 04/13] CIF-2841 - Add UI tests for associated product/category for content pages (#298) --- .../specs/venia/commerce-page-dialogs.js | 39 +++++++++++++++++-- 1 file changed, 36 insertions(+), 3 deletions(-) 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..11111ccf 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,6 +60,7 @@ 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'); @@ -76,7 +78,7 @@ describe('Commerce Page Component Dialog', function () { expect(fields[4].$('foundation-autocomplete[name="./cq:cifMyAccountPage"]')).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 +91,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 +106,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 +119,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 +140,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'); + }); }); From d2e3d1d5ac89795df3b3948b354fee1d79afd416 Mon Sep 17 00:00:00 2001 From: Dirk Rudolph Date: Tue, 12 Jul 2022 16:28:20 +0200 Subject: [PATCH 05/13] CIF-2865: remove duplicated embed of datalayer (#301) Co-authored-by: Laurentiu Magureanu --- .../jcr_root/apps/venia/clientlibs/clientlib-base/.content.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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]"/> From b50f7fd4a00a8bff5890267df1ceafd92693b772 Mon Sep 17 00:00:00 2001 From: "Mark J. Becker" Date: Wed, 13 Jul 2022 10:32:10 +0200 Subject: [PATCH 06/13] CIF-2895 - Add example for product filter hook (#300) * Add example for product filter hook * Update Magento GraphQL schema version --- .../core/models/commerce/MyProductTeaserImpl.java | 10 ++++++++++ pom.xml | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) 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 e133c558..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 @@ -26,6 +26,8 @@ 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; @@ -59,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"))); } } diff --git a/pom.xml b/pom.xml index 70959922..43fa2fa6 100644 --- a/pom.xml +++ b/pom.xml @@ -89,7 +89,7 @@ 2.18.6 2.10.1-SNAPSHOT 1.7.10 - 9.0.0-magento242ee + 9.1.0-magento242ee 5.1.2 UTF-8 UTF-8 From b3ff53721fb7bf14bb04cd1fdba48e7d60deea0a Mon Sep 17 00:00:00 2001 From: Dirk Rudolph Date: Wed, 13 Jul 2022 16:45:31 +0200 Subject: [PATCH 07/13] SITES-6859: add open in new tab labels for screen readers (#302) --- .../apps/venia/clientlibs/clientlib-cif/.content.xml | 2 +- ui.frontend/src/main/site/_base.scss | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) 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.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 From 2ad1af4c6acbaa31bc54da3492143afaa7dc2cc1 Mon Sep 17 00:00:00 2001 From: "Mark J. Becker" Date: Thu, 14 Jul 2022 12:54:13 +0200 Subject: [PATCH 08/13] CIF-2673 - Add navRoot checkbox to page properties (#303) * add navRoot checkbox to page properties * add navRoot default to landing page template --- .../settings/wcm/templates/landing-page/initial/.content.xml | 3 ++- ui.tests/test-module/specs/venia/commerce-page-dialogs.js | 5 ++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ui.content/src/main/content/jcr_root/conf/venia/settings/wcm/templates/landing-page/initial/.content.xml b/ui.content/src/main/content/jcr_root/conf/venia/settings/wcm/templates/landing-page/initial/.content.xml index 70bc6056..b090684f 100644 --- a/ui.content/src/main/content/jcr_root/conf/venia/settings/wcm/templates/landing-page/initial/.content.xml +++ b/ui.content/src/main/content/jcr_root/conf/venia/settings/wcm/templates/landing-page/initial/.content.xml @@ -8,7 +8,8 @@ cq:template="/conf/venia/settings/wcm/templates/landing-page" jcr:primaryType="cq:PageContent" jcr:title="Site Landing Page" - sling:resourceType="venia/components/page"> + sling:resourceType="venia/components/page" + navRoot="{Boolean}true"> { From 970c06088fad8a08e39d2258b3d08cf9eb58fb97 Mon Sep 17 00:00:00 2001 From: Laurentiu Magureanu Date: Mon, 18 Jul 2022 11:01:29 +0300 Subject: [PATCH 09/13] CIF-2827: Add produclist XF example (#299) --- .../venia/settings/wcm/policies/.content.xml | 6 ++ .../products/productlist-content/.content.xml | 13 ++++ .../productlist-content/master/.content.xml | 61 +++++++++++++++++++ .../en/products/category-page/.content.xml | 9 ++- .../us/en/products/category-page/.content.xml | 12 +++- .../main/styles/commerce/_productlist.scss | 4 ++ .../specs/venia/productlist-dialog.js | 36 +++-------- 7 files changed, 111 insertions(+), 30 deletions(-) create mode 100755 ui.content/src/main/content/jcr_root/content/experience-fragments/venia/us/en/site/products/productlist-content/.content.xml create mode 100755 ui.content/src/main/content/jcr_root/content/experience-fragments/venia/us/en/site/products/productlist-content/master/.content.xml 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"> + + + + + + + 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 @@ + + + + + An elegant dress for dinner. + + + + + + + + + + + + + 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/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/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(); From 03a7a69355c5fcc0a3d8f3a74e821a175c8ca41c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Levente=20S=C3=A1ntha?= Date: Thu, 4 Aug 2022 18:00:20 +0300 Subject: [PATCH 10/13] CIF-2842 - Extend List component to list pages by product or category (#304) * replace Core WCM List component proxy with proxy for Commerce List * added UI test for commerce list edit dialog * increase cif sdk api version * fixed UI test Co-authored-by: Dirk Rudolph --- pom.xml | 2 +- .../apps/venia/components/list/.content.xml | 3 +- .../specs/venia/component-dialogs.js | 39 +++++++++++++++++++ 3 files changed, 42 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 43fa2fa6..ad6d2af1 100644 --- a/pom.xml +++ b/pom.xml @@ -96,7 +96,7 @@ 6.5.0 0.8.7 2020.9.4277.20200929T030741Z-200924 - 2022.07.05.00 + 2022.08.02.00 Venia diff --git a/ui.apps/src/main/content/jcr_root/apps/venia/components/list/.content.xml b/ui.apps/src/main/content/jcr_root/apps/venia/components/list/.content.xml index 707be978..e28ad771 100644 --- a/ui.apps/src/main/content/jcr_root/apps/venia/components/list/.content.xml +++ b/ui.apps/src/main/content/jcr_root/apps/venia/components/list/.content.xml @@ -2,5 +2,6 @@ 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(); + }); }); From 3305a1947f0b34af8270e855633ec4f9d3257b67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Levente=20S=C3=A1ntha?= Date: Thu, 11 Aug 2022 17:53:01 +0300 Subject: [PATCH 11/13] CIF-2953 - Remove graphql client from Venia classic all package (#306) * removed graphql client --- classic/all/pom.xml | 9 --------- 1 file changed, 9 deletions(-) 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 From 81d8025414726946626937f75a604ff724e89837 Mon Sep 17 00:00:00 2001 From: Dirk Rudolph Date: Thu, 1 Sep 2022 11:40:16 +0200 Subject: [PATCH 12/13] CIF-2946 - Catalog template status bar not always shown (#308) * add cif specific composite status type for editor to classic --- ...status.impl.CompositeStatusType~editor.config.cfg.json | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 classic/ui.config/src/main/content/jcr_root/apps/venia/osgiconfig-classic/config.author/com.adobe.granite.resourcestatus.impl.CompositeStatusType~editor.config.cfg.json 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 From 03aa3cbc00a1996f77a2fcfe8cd1e65b3c6c64f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Levente=20S=C3=A1ntha?= Date: Thu, 1 Sep 2022 17:22:04 +0300 Subject: [PATCH 13/13] @releng - updated CIF components dependency to 2.11.0 (#309) --- pom.xml | 2 +- ui.frontend/package-lock.json | 12 ++++++------ ui.frontend/package.json | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/pom.xml b/pom.xml index ad6d2af1..5662880f 100644 --- a/pom.xml +++ b/pom.xml @@ -87,7 +87,7 @@ admin admin 2.18.6 - 2.10.1-SNAPSHOT + 2.11.0 1.7.10 9.1.0-magento242ee 5.1.2 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",