Commit ded129431ae for woocommerce

commit ded129431ae33f52cecfb92adf89642e6fba9053
Author: Vlad Olaru <vlad.olaru@automattic.com>
Date:   Mon Sep 7 10:16:58 2026 +0300

    Run Core API tests with usage tracking enabled (#68274)

    * test: Run API tests with tracking enabled

    Core API CI only exercised the default tracking-disabled state on pull requests, leaving tracking-specific behavior uncovered in PR, nightly, and release checks. The newer single-container setup path also did not forward the existing tracking flag into its CLI process.

    Add a distinct required tracking-enabled API job, explicitly forward the setup flag, verify the persisted option before the suite runs, and guard event/report generation with an independent configuration test. Existing API variants and runtime behavior remain unchanged.

    Refs #39112

    * chore: Add tracking-enabled API test changelog

    Record the new pull request, nightly, and release Core API coverage with usage tracking enabled in the WooCommerce plugin release metadata.

    Refs #39112

    * test: remove bespoke tracking CI validator

    The tracking API job already fails before the suite when setup does not persist exact tracking consent. A package-specific generator validator duplicated generic CI job coverage and added a separate runner without direct precedent among existing API variants.

    Remove the validator, its package script, and its independent CI job. Keep the required tracking-enabled API run and runtime consent guard unchanged.

    Refs #39112

diff --git a/plugins/woocommerce/changelog/fix-39112-api-tests-tracking-enabled b/plugins/woocommerce/changelog/fix-39112-api-tests-tracking-enabled
new file mode 100644
index 00000000000..44de4468963
--- /dev/null
+++ b/plugins/woocommerce/changelog/fix-39112-api-tests-tracking-enabled
@@ -0,0 +1,4 @@
+Significance: patch
+Type: dev
+
+Run Core API tests with usage tracking enabled in pull request, nightly, and release CI.
diff --git a/plugins/woocommerce/package.json b/plugins/woocommerce/package.json
index 27359d962ee..9a85c0e9e42 100644
--- a/plugins/woocommerce/package.json
+++ b/plugins/woocommerce/package.json
@@ -35,6 +35,7 @@
 		"env:e2e:restart": "pnpm wp-env:e2e destroy --force && pnpm wp-env:e2e start --update",
 		"env:e2e:start": "pnpm wp-env:e2e start --update",
 		"env:e2e:stop": "pnpm wp-env:e2e stop",
+		"env:e2e:tracking": "ENABLE_TRACKING=1 pnpm env:e2e:start",
 		"env:performance-init": "./tests/performance/bin/init-environment.sh",
 		"env:perf": "pnpm env:e2e:start && pnpm env:performance-init",
 		"env:restart": "pnpm env:dev:restart",
@@ -70,6 +71,7 @@
 		"test:api": "pnpm test:e2e:default --project=api",
 		"test:api:hpos-off": "pnpm test:e2e:with-env default-hpos-disabled --project=api-hpos-disabled",
 		"test:api:object-cache": "pnpm test:e2e:with-env default-object-cache --project=api",
+		"test:api:tracking": "test \"$(pnpm --silent wp-env:e2e run cli wp option get woocommerce_allow_tracking)\" = \"yes\" && pnpm test:api",
 		"test:e2e:core-serial": "pnpm test:e2e:default --project=core-serial",
 		"test:e2e:core-parallel": "pnpm test:e2e:default --project=core-parallel",
 		"test:e2e:default": "pnpm test:e2e:install && pnpm test:e2e:with-env default",
@@ -633,6 +635,42 @@
 						"allure": true
 					}
 				},
+				{
+					"name": "Core API tests (tracking enabled)",
+					"testType": "api",
+					"usesSharedPluginBuild": true,
+					"command": "test:api:tracking",
+					"optional": false,
+					"changes": [
+						"composer.json",
+						"composer.lock",
+						"i18n/**/*.php",
+						"includes/**/*.php",
+						"src/**/*.php",
+						"tests/e2e/bin/**",
+						"tests/e2e/tests/api-tests/**",
+						"tests/e2e/*.js",
+						"tests/e2e/*.sh",
+						".wp-env.e2e.json",
+						"woocommerce.php",
+						"uninstall.php"
+					],
+					"onlyForDependencies": [],
+					"testEnv": {
+						"start": "env:e2e:tracking --debug"
+					},
+					"events": [
+						"pull_request",
+						"nightly-checks",
+						"release-checks",
+						"core-api-tracking"
+					],
+					"report": {
+						"resultsBlobName": "core-api-report-tracking-enabled",
+						"resultsPath": "tests/e2e/test-results",
+						"allure": true
+					}
+				},
 				{
 					"name": "Core API tests (HPOS:off)",
 					"testType": "api",
diff --git a/plugins/woocommerce/tests/e2e/bin/test-env-setup.sh b/plugins/woocommerce/tests/e2e/bin/test-env-setup.sh
index 18928818260..b3fd7811e72 100755
--- a/plugins/woocommerce/tests/e2e/bin/test-env-setup.sh
+++ b/plugins/woocommerce/tests/e2e/bin/test-env-setup.sh
@@ -16,7 +16,7 @@ if [ ! -z ${CI+y} ]; then
     # Source from the e2e-test-bin directory mount; a single-file mount of this
     # script can surface as an empty file under Docker gRPC FUSE.
     $WP_ENV_CMD run --debug cli cp wp-content/plugins/e2e-test-bin/test-env-setup.sh test-env-setup-ci.sh
-    $WP_ENV_CMD run --debug cli env -u CI WP_CLI_PREFIX= bash test-env-setup-ci.sh
+    $WP_ENV_CMD run --debug cli env -u CI WP_CLI_PREFIX= ENABLE_TRACKING="${ENABLE_TRACKING:-0}" bash test-env-setup-ci.sh
     exit $?
 fi