Commit ff295b7e301 for woocommerce
commit ff295b7e301fe3a266edb891b7bf7a943d3f1f5f
Author: Vlad Olaru <vlad.olaru@automattic.com>
Date: Wed Sep 2 17:21:17 2026 +0300
[tests] Keep Blocks snapshot setup out of the specialized E2E environment configs (#68240)
fix(e2e): isolate Blocks setup project
Specialized E2E environments share the install, authentication, and site
setup chain.
The shared project list also included Blocks snapshot setup, so unfiltered
Core variants could mutate a Core-profile database and now fail correctly
when the Blocks-only request lock is absent.
Export only the Core setup chain to specialized configs and keep Blocks
setup private to the default Blocks project graph.
Refs TESTOPS-234
diff --git a/plugins/woocommerce/tests/e2e/envs/default-hpos-disabled/playwright.config.ts b/plugins/woocommerce/tests/e2e/envs/default-hpos-disabled/playwright.config.ts
index 63afae57544..95a251d5a37 100644
--- a/plugins/woocommerce/tests/e2e/envs/default-hpos-disabled/playwright.config.ts
+++ b/plugins/woocommerce/tests/e2e/envs/default-hpos-disabled/playwright.config.ts
@@ -1,7 +1,7 @@
/**
* Internal dependencies
*/
-import defaultConfig, { setupProjects } from '../../playwright.config';
+import defaultConfig, { coreSetupProjects } from '../../playwright.config';
import { tags } from '../../fixtures/fixtures';
process.env.USE_WP_ENV = 'true';
@@ -10,7 +10,7 @@ process.env.DISABLE_HPOS = '1';
const config = {
...defaultConfig,
projects: [
- ...setupProjects,
+ ...coreSetupProjects,
{
name: 'e2e-hpos-disabled',
grep: new RegExp( tags.HPOS ),
diff --git a/plugins/woocommerce/tests/e2e/envs/default-pressable/playwright.config.ts b/plugins/woocommerce/tests/e2e/envs/default-pressable/playwright.config.ts
index 92a53571d5d..a613cdcbfb8 100644
--- a/plugins/woocommerce/tests/e2e/envs/default-pressable/playwright.config.ts
+++ b/plugins/woocommerce/tests/e2e/envs/default-pressable/playwright.config.ts
@@ -2,7 +2,7 @@
* Internal dependencies
*/
import defaultConfig, {
- setupProjects,
+ coreSetupProjects,
TESTS_ROOT_PATH,
} from '../../playwright.config';
import { tags } from '../../fixtures/fixtures';
@@ -17,7 +17,7 @@ const grepInvert = new RegExp(
const config = {
...defaultConfig,
projects: [
- ...setupProjects,
+ ...coreSetupProjects,
{
name: 'reset',
testDir: `${ TESTS_ROOT_PATH }/fixtures`,
diff --git a/plugins/woocommerce/tests/e2e/envs/default-wpcom/playwright.config.ts b/plugins/woocommerce/tests/e2e/envs/default-wpcom/playwright.config.ts
index 5c12cc89c5e..2cdea2c0eff 100644
--- a/plugins/woocommerce/tests/e2e/envs/default-wpcom/playwright.config.ts
+++ b/plugins/woocommerce/tests/e2e/envs/default-wpcom/playwright.config.ts
@@ -2,7 +2,7 @@
* Internal dependencies
*/
import defaultConfig, {
- setupProjects,
+ coreSetupProjects,
TESTS_ROOT_PATH,
} from '../../playwright.config';
import { tags } from '../../fixtures/fixtures';
@@ -17,7 +17,7 @@ const grepInvert = new RegExp(
const config = {
...defaultConfig,
projects: [
- ...setupProjects,
+ ...coreSetupProjects,
{
name: 'reset',
testDir: `${ TESTS_ROOT_PATH }/fixtures`,
diff --git a/plugins/woocommerce/tests/e2e/envs/gutenberg-stable/playwright.config.ts b/plugins/woocommerce/tests/e2e/envs/gutenberg-stable/playwright.config.ts
index de1858b8177..7ff350d01fe 100644
--- a/plugins/woocommerce/tests/e2e/envs/gutenberg-stable/playwright.config.ts
+++ b/plugins/woocommerce/tests/e2e/envs/gutenberg-stable/playwright.config.ts
@@ -1,7 +1,7 @@
/**
* Internal dependencies
*/
-import defaultConfig, { setupProjects } from '../../playwright.config';
+import defaultConfig, { coreSetupProjects } from '../../playwright.config';
import { tags } from '../../fixtures/fixtures';
process.env.USE_WP_ENV = 'true';
@@ -9,7 +9,7 @@ process.env.USE_WP_ENV = 'true';
const config = {
...defaultConfig,
projects: [
- ...setupProjects,
+ ...coreSetupProjects,
{
name: 'Gutenberg',
grep: new RegExp( tags.GUTENBERG ),
diff --git a/plugins/woocommerce/tests/e2e/envs/woocommerce-payments/playwright.config.ts b/plugins/woocommerce/tests/e2e/envs/woocommerce-payments/playwright.config.ts
index 6e1db9fb134..c6b3ddb1e70 100644
--- a/plugins/woocommerce/tests/e2e/envs/woocommerce-payments/playwright.config.ts
+++ b/plugins/woocommerce/tests/e2e/envs/woocommerce-payments/playwright.config.ts
@@ -1,7 +1,7 @@
/**
* Internal dependencies
*/
-import defaultConfig, { setupProjects } from '../../playwright.config';
+import defaultConfig, { coreSetupProjects } from '../../playwright.config';
import { tags } from '../../fixtures/fixtures';
process.env.USE_WP_ENV = 'true';
@@ -9,7 +9,7 @@ process.env.USE_WP_ENV = 'true';
const config = {
...defaultConfig,
projects: [
- ...setupProjects,
+ ...coreSetupProjects,
{
name: 'WooPayments',
grep: new RegExp( tags.PAYMENTS ),
diff --git a/plugins/woocommerce/tests/e2e/envs/woocommerce-paypal-payments/playwright.config.ts b/plugins/woocommerce/tests/e2e/envs/woocommerce-paypal-payments/playwright.config.ts
index 7a8f720dfae..5dc5e3c607f 100644
--- a/plugins/woocommerce/tests/e2e/envs/woocommerce-paypal-payments/playwright.config.ts
+++ b/plugins/woocommerce/tests/e2e/envs/woocommerce-paypal-payments/playwright.config.ts
@@ -1,7 +1,7 @@
/**
* Internal dependencies
*/
-import defaultConfig, { setupProjects } from '../../playwright.config';
+import defaultConfig, { coreSetupProjects } from '../../playwright.config';
import { tags } from '../../fixtures/fixtures';
process.env.USE_WP_ENV = 'true';
@@ -9,7 +9,7 @@ process.env.USE_WP_ENV = 'true';
const config = {
...defaultConfig,
projects: [
- ...setupProjects,
+ ...coreSetupProjects,
{
name: 'WooCommerce PayPal Payments',
grep: new RegExp( tags.PAYMENTS ),
diff --git a/plugins/woocommerce/tests/e2e/envs/woocommerce-services/playwright.config.ts b/plugins/woocommerce/tests/e2e/envs/woocommerce-services/playwright.config.ts
index 29a1b2ab7ba..8b602832f8a 100644
--- a/plugins/woocommerce/tests/e2e/envs/woocommerce-services/playwright.config.ts
+++ b/plugins/woocommerce/tests/e2e/envs/woocommerce-services/playwright.config.ts
@@ -1,7 +1,7 @@
/**
* Internal dependencies
*/
-import defaultConfig, { setupProjects } from '../../playwright.config';
+import defaultConfig, { coreSetupProjects } from '../../playwright.config';
import { tags } from '../../fixtures/fixtures';
process.env.USE_WP_ENV = 'true';
@@ -9,7 +9,7 @@ process.env.USE_WP_ENV = 'true';
const config = {
...defaultConfig,
projects: [
- ...setupProjects,
+ ...coreSetupProjects,
{
name: 'WooCommerce Shipping & Tax',
grep: new RegExp( tags.SERVICES ),
diff --git a/plugins/woocommerce/tests/e2e/playwright.config.ts b/plugins/woocommerce/tests/e2e/playwright.config.ts
index 8a6c966bd74..dd88e435cbe 100644
--- a/plugins/woocommerce/tests/e2e/playwright.config.ts
+++ b/plugins/woocommerce/tests/e2e/playwright.config.ts
@@ -89,7 +89,7 @@ if ( process.env.CI ) {
] );
}
-export const setupProjects = [
+export const coreSetupProjects = [
{
name: 'install wc',
testDir: `${ TESTS_ROOT_PATH }/fixtures`,
@@ -107,13 +107,14 @@ export const setupProjects = [
testMatch: `site.setup.ts`,
dependencies: [ 'global authentication' ],
},
- {
- name: 'blocks setup',
- testDir: `${ TESTS_ROOT_PATH }/fixtures`,
- testMatch: 'blocks-setup.ts',
- },
];
+const blocksSetupProject = {
+ name: 'blocks setup',
+ testDir: `${ TESTS_ROOT_PATH }/fixtures`,
+ testMatch: 'blocks-setup.ts',
+};
+
/**
* Spec folders that must run serially in `core-serial` (they mutate global
* state or share fixtures). Every other folder under `tests/` runs in
@@ -234,7 +235,8 @@ export default defineConfig( {
snapshotPathTemplate: '{testDir}/{testFilePath}-snapshots/{arg}',
projects: [
- ...setupProjects,
+ ...coreSetupProjects,
+ blocksSetupProject,
{
name: 'core-serial',
testMatch: serialRunSpecs,