Commit c34838e00ef for woocommerce
commit c34838e00ef642a266dfb3c1086aa255831f12f4
Author: Tung Du <dinhtungdu@gmail.com>
Date: Fri Sep 25 13:23:22 2026 +0700
Restore the Product Collection per-block render event E2E test (#69091)
#68618 removed it. It is the only test that checks several Product
Collection blocks on one page each fire their own
wc-blocks_product_list_rendered event.
Claude-Session: https://claude.ai/code/session_014r6PoAedUkWFLNpyerW69N
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
diff --git a/plugins/woocommerce/tests/e2e/tests/blocks/product-collection/extensibility-events.block_theme.spec.ts b/plugins/woocommerce/tests/e2e/tests/blocks/product-collection/extensibility-events.block_theme.spec.ts
index 99563d84edb..565aa2a2d8b 100644
--- a/plugins/woocommerce/tests/e2e/tests/blocks/product-collection/extensibility-events.block_theme.spec.ts
+++ b/plugins/woocommerce/tests/e2e/tests/blocks/product-collection/extensibility-events.block_theme.spec.ts
@@ -54,6 +54,34 @@ test.describe( 'Product Collection: Extensibility Events', () => {
.toBe( 2 );
} );
+ test( 'emits one wc-blocks_product_list_rendered event per block', async ( {
+ pageObject,
+ page,
+ } ) => {
+ // Adding three blocks in total
+ await pageObject.createNewPostAndInsertBlock();
+ await pageObject.insertProductCollection();
+ await pageObject.chooseCollectionInPost();
+ await pageObject.insertProductCollection();
+ await pageObject.chooseCollectionInPost();
+
+ await page.addInitScript( () => {
+ let eventFired = 0;
+ window.document.addEventListener(
+ 'wc-blocks_product_list_rendered',
+ () => {
+ window.eventFired = ++eventFired;
+ }
+ );
+ } );
+
+ await pageObject.publishAndGoToFrontend();
+
+ await expect
+ .poll( async () => await page.evaluate( 'window.eventFired' ) )
+ .toBe( 3 );
+ } );
+
test.describe( 'wc-blocks_viewed_product is emitted', () => {
let promise: Promise< { productId?: number; collection?: string } >;