From 1296c5483f2cb8ddba9f358bd26749d223b9026a Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Thu, 23 Oct 2025 16:56:26 +0800 Subject: [PATCH 01/11] Run Tests against WordPress 6.9 Beta --- .github/workflows/coding-standards.yml | 2 +- .github/workflows/tests.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/coding-standards.yml b/.github/workflows/coding-standards.yml index c9f9739..0242625 100644 --- a/.github/workflows/coding-standards.yml +++ b/.github/workflows/coding-standards.yml @@ -35,7 +35,7 @@ jobs: # Defines the WordPress and PHP Versions matrix to run tests on. strategy: matrix: - wp-versions: [ 'latest' ] #[ '5.6.7', '5.7.5', '5.8.3', '5.9' ] + wp-versions: [ '6.9-beta1' ] #[ 'latest', '6.9-beta1' ] php-versions: [ '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4' ] #[ '7.3', '7.4', '8.0', '8.1' ] # Steps to install, configure and run tests diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 3e3e9c5..3c8470c 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -46,7 +46,7 @@ jobs: strategy: fail-fast: false matrix: - wp-versions: [ 'latest' ] #[ 'latest' ] + wp-versions: [ '6.9-beta1' ] #[ 'latest', '6.9-beta1' ] php-versions: [ '8.1', '8.2', '8.3', '8.4' ] #[ '7.3', '7.4', '8.0', '8.1' ] # Folder names within the 'tests' folder to run tests in parallel. From aaad516338bf06796e195ba7bc03eb92fc119c87 Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Thu, 23 Oct 2025 19:01:29 +0800 Subject: [PATCH 02/11] Update DB dump --- tests/Support/Data/dump.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/Support/Data/dump.sql b/tests/Support/Data/dump.sql index f41006c..76230d2 100644 --- a/tests/Support/Data/dump.sql +++ b/tests/Support/Data/dump.sql @@ -124,7 +124,7 @@ INSERT INTO `wp_options` (`option_id`, `option_name`, `option_value`, `autoload` (43, 'html_type', 'text/html', 'yes'), (44, 'use_trackback', '0', 'yes'), (45, 'default_role', 'subscriber', 'yes'), -(46, 'db_version', '60421', 'yes'), +(46, 'db_version', '60717', 'yes'), (47, 'uploads_use_yearmonth_folders', '1', 'yes'), (48, 'upload_path', '', 'yes'), (49, 'blog_public', '1', 'yes'), @@ -177,7 +177,7 @@ INSERT INTO `wp_options` (`option_id`, `option_name`, `option_value`, `autoload` (96, 'auto_update_core_minor', 'enabled', 'yes'), (97, 'auto_update_core_major', 'enabled', 'yes'), (98, 'wp_force_deactivated_plugins', 'a:0:{}', 'yes'), -(99, 'initial_db_version', '60421', 'yes'), +(99, 'initial_db_version', '60717', 'yes'), (100, 'wp_user_roles', 'a:5:{s:13:\"administrator\";a:2:{s:4:\"name\";s:13:\"Administrator\";s:12:\"capabilities\";a:61:{s:13:\"switch_themes\";b:1;s:11:\"edit_themes\";b:1;s:16:\"activate_plugins\";b:1;s:12:\"edit_plugins\";b:1;s:10:\"edit_users\";b:1;s:10:\"edit_files\";b:1;s:14:\"manage_options\";b:1;s:17:\"moderate_comments\";b:1;s:17:\"manage_categories\";b:1;s:12:\"manage_links\";b:1;s:12:\"upload_files\";b:1;s:6:\"import\";b:1;s:15:\"unfiltered_html\";b:1;s:10:\"edit_posts\";b:1;s:17:\"edit_others_posts\";b:1;s:20:\"edit_published_posts\";b:1;s:13:\"publish_posts\";b:1;s:10:\"edit_pages\";b:1;s:4:\"read\";b:1;s:8:\"level_10\";b:1;s:7:\"level_9\";b:1;s:7:\"level_8\";b:1;s:7:\"level_7\";b:1;s:7:\"level_6\";b:1;s:7:\"level_5\";b:1;s:7:\"level_4\";b:1;s:7:\"level_3\";b:1;s:7:\"level_2\";b:1;s:7:\"level_1\";b:1;s:7:\"level_0\";b:1;s:17:\"edit_others_pages\";b:1;s:20:\"edit_published_pages\";b:1;s:13:\"publish_pages\";b:1;s:12:\"delete_pages\";b:1;s:19:\"delete_others_pages\";b:1;s:22:\"delete_published_pages\";b:1;s:12:\"delete_posts\";b:1;s:19:\"delete_others_posts\";b:1;s:22:\"delete_published_posts\";b:1;s:20:\"delete_private_posts\";b:1;s:18:\"edit_private_posts\";b:1;s:18:\"read_private_posts\";b:1;s:20:\"delete_private_pages\";b:1;s:18:\"edit_private_pages\";b:1;s:18:\"read_private_pages\";b:1;s:12:\"delete_users\";b:1;s:12:\"create_users\";b:1;s:17:\"unfiltered_upload\";b:1;s:14:\"edit_dashboard\";b:1;s:14:\"update_plugins\";b:1;s:14:\"delete_plugins\";b:1;s:15:\"install_plugins\";b:1;s:13:\"update_themes\";b:1;s:14:\"install_themes\";b:1;s:11:\"update_core\";b:1;s:10:\"list_users\";b:1;s:12:\"remove_users\";b:1;s:13:\"promote_users\";b:1;s:18:\"edit_theme_options\";b:1;s:13:\"delete_themes\";b:1;s:6:\"export\";b:1;}}s:6:\"editor\";a:2:{s:4:\"name\";s:6:\"Editor\";s:12:\"capabilities\";a:34:{s:17:\"moderate_comments\";b:1;s:17:\"manage_categories\";b:1;s:12:\"manage_links\";b:1;s:12:\"upload_files\";b:1;s:15:\"unfiltered_html\";b:1;s:10:\"edit_posts\";b:1;s:17:\"edit_others_posts\";b:1;s:20:\"edit_published_posts\";b:1;s:13:\"publish_posts\";b:1;s:10:\"edit_pages\";b:1;s:4:\"read\";b:1;s:7:\"level_7\";b:1;s:7:\"level_6\";b:1;s:7:\"level_5\";b:1;s:7:\"level_4\";b:1;s:7:\"level_3\";b:1;s:7:\"level_2\";b:1;s:7:\"level_1\";b:1;s:7:\"level_0\";b:1;s:17:\"edit_others_pages\";b:1;s:20:\"edit_published_pages\";b:1;s:13:\"publish_pages\";b:1;s:12:\"delete_pages\";b:1;s:19:\"delete_others_pages\";b:1;s:22:\"delete_published_pages\";b:1;s:12:\"delete_posts\";b:1;s:19:\"delete_others_posts\";b:1;s:22:\"delete_published_posts\";b:1;s:20:\"delete_private_posts\";b:1;s:18:\"edit_private_posts\";b:1;s:18:\"read_private_posts\";b:1;s:20:\"delete_private_pages\";b:1;s:18:\"edit_private_pages\";b:1;s:18:\"read_private_pages\";b:1;}}s:6:\"author\";a:2:{s:4:\"name\";s:6:\"Author\";s:12:\"capabilities\";a:10:{s:12:\"upload_files\";b:1;s:10:\"edit_posts\";b:1;s:20:\"edit_published_posts\";b:1;s:13:\"publish_posts\";b:1;s:4:\"read\";b:1;s:7:\"level_2\";b:1;s:7:\"level_1\";b:1;s:7:\"level_0\";b:1;s:12:\"delete_posts\";b:1;s:22:\"delete_published_posts\";b:1;}}s:11:\"contributor\";a:2:{s:4:\"name\";s:11:\"Contributor\";s:12:\"capabilities\";a:5:{s:10:\"edit_posts\";b:1;s:4:\"read\";b:1;s:7:\"level_1\";b:1;s:7:\"level_0\";b:1;s:12:\"delete_posts\";b:1;}}s:10:\"subscriber\";a:2:{s:4:\"name\";s:10:\"Subscriber\";s:12:\"capabilities\";a:2:{s:4:\"read\";b:1;s:7:\"level_0\";b:1;}}}', 'yes'), (101, 'fresh_site', '1', 'yes'), (102, 'user_count', '1', 'no'), From 78362033f807fbdc991dde0f82f1d6cde05c0ac7 Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Mon, 3 Nov 2025 16:20:38 +0800 Subject: [PATCH 03/11] Run Tests against WordPress 6.9 beta 2 --- .github/workflows/coding-standards.yml | 2 +- .github/workflows/tests.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/coding-standards.yml b/.github/workflows/coding-standards.yml index 0242625..1fef75e 100644 --- a/.github/workflows/coding-standards.yml +++ b/.github/workflows/coding-standards.yml @@ -35,7 +35,7 @@ jobs: # Defines the WordPress and PHP Versions matrix to run tests on. strategy: matrix: - wp-versions: [ '6.9-beta1' ] #[ 'latest', '6.9-beta1' ] + wp-versions: [ '6.9-beta2' ] #[ 'latest', '6.9-beta1' ] php-versions: [ '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4' ] #[ '7.3', '7.4', '8.0', '8.1' ] # Steps to install, configure and run tests diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 3c8470c..6dbad5f 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -46,7 +46,7 @@ jobs: strategy: fail-fast: false matrix: - wp-versions: [ '6.9-beta1' ] #[ 'latest', '6.9-beta1' ] + wp-versions: [ '6.9-beta2' ] #[ 'latest', '6.9-beta1' ] php-versions: [ '8.1', '8.2', '8.3', '8.4' ] #[ '7.3', '7.4', '8.0', '8.1' ] # Folder names within the 'tests' folder to run tests in parallel. From cc71568d507da6cb9e8b2177822e0b92d095c535 Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Thu, 13 Nov 2025 15:35:13 +0800 Subject: [PATCH 04/11] Run Tests against WordPress 6.9 RC1 --- .github/workflows/coding-standards.yml | 2 +- .github/workflows/tests.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/coding-standards.yml b/.github/workflows/coding-standards.yml index eed7c2c..0c1832d 100644 --- a/.github/workflows/coding-standards.yml +++ b/.github/workflows/coding-standards.yml @@ -35,7 +35,7 @@ jobs: # Defines the WordPress and PHP Versions matrix to run tests on. strategy: matrix: - wp-versions: [ '6.9-beta2' ] #[ 'latest', '6.9-beta1' ] + wp-versions: [ '6.9-RC1' ] #[ '6.1.1', 'latest' ] php-versions: [ '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4' ] #[ '7.3', '7.4', '8.0', '8.1' ] # Steps to install, configure and run tests diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 6dbad5f..6b6bb08 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -46,7 +46,7 @@ jobs: strategy: fail-fast: false matrix: - wp-versions: [ '6.9-beta2' ] #[ 'latest', '6.9-beta1' ] + wp-versions: [ '6.9-RC1' ] #[ '6.1.1', 'latest' ] php-versions: [ '8.1', '8.2', '8.3', '8.4' ] #[ '7.3', '7.4', '8.0', '8.1' ] # Folder names within the 'tests' folder to run tests in parallel. From e6da0406831883cca033f782399cc4b9e1041d10 Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Thu, 20 Nov 2025 14:06:06 +0800 Subject: [PATCH 05/11] Run tests against WordPress 6.9 RC2 --- .github/workflows/coding-standards.yml | 2 +- .github/workflows/tests.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/coding-standards.yml b/.github/workflows/coding-standards.yml index 0c1832d..b84b2b8 100644 --- a/.github/workflows/coding-standards.yml +++ b/.github/workflows/coding-standards.yml @@ -35,7 +35,7 @@ jobs: # Defines the WordPress and PHP Versions matrix to run tests on. strategy: matrix: - wp-versions: [ '6.9-RC1' ] #[ '6.1.1', 'latest' ] + wp-versions: [ '6.9-RC2' ] #[ '6.1.1', 'latest' ] php-versions: [ '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4' ] #[ '7.3', '7.4', '8.0', '8.1' ] # Steps to install, configure and run tests diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 6b6bb08..a244c3d 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -46,7 +46,7 @@ jobs: strategy: fail-fast: false matrix: - wp-versions: [ '6.9-RC1' ] #[ '6.1.1', 'latest' ] + wp-versions: [ '6.9-RC2' ] #[ '6.1.1', 'latest' ] php-versions: [ '8.1', '8.2', '8.3', '8.4' ] #[ '7.3', '7.4', '8.0', '8.1' ] # Folder names within the 'tests' folder to run tests in parallel. From 03918957ec2c75cfdf67ada60a20e43c5645d208 Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Tue, 25 Nov 2025 21:07:25 +0800 Subject: [PATCH 06/11] Tests: Plugin Deactivation: Try link for WPForms Lite --- tests/Support/Helper/ThirdPartyPlugin.php | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/tests/Support/Helper/ThirdPartyPlugin.php b/tests/Support/Helper/ThirdPartyPlugin.php index ec926d6..126cdfc 100644 --- a/tests/Support/Helper/ThirdPartyPlugin.php +++ b/tests/Support/Helper/ThirdPartyPlugin.php @@ -36,6 +36,9 @@ public function activateThirdPartyPlugin($I, $name) $I->selectOption('action', 'activate-selected'); $I->click('#doaction'); + // Go to the Plugins screen again. + $I->amOnPluginsPage(); + // Wait for the Plugins page to load with the Plugin activated, to confirm it activated. $I->waitForElementVisible('table.plugins tr[data-slug=' . $name . '].active'); @@ -65,10 +68,19 @@ public function deactivateThirdPartyPlugin($I, $name) // Wait for the Plugins page to load. $I->waitForElementVisible('body.plugins-php'); - // Deactivate the Plugin. - $I->checkOption('//*[@data-slug="' . $name . '"]/th/input'); - $I->selectOption('action', 'deactivate-selected'); - $I->click('#doaction'); + // Depending on the Plugin name, perform deactivation. + switch ($name) { + case 'wpforms-lite': + $I->click('a#deactivate-' . $name); + break; + + default: + // Deactivate the Plugin. + $I->checkOption('//*[@data-slug="' . $name . '"]/th/input'); + $I->selectOption('action', 'deactivate-selected'); + $I->click('#doaction'); + break; + } } /** From 7cef8cf00626a2a690e49fc1707e0c12d78d2f22 Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Wed, 26 Nov 2025 16:23:32 +0800 Subject: [PATCH 07/11] Run tests against WordPress 6.9 RC3 --- .github/workflows/coding-standards.yml | 2 +- .github/workflows/tests.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/coding-standards.yml b/.github/workflows/coding-standards.yml index b84b2b8..bc57f45 100644 --- a/.github/workflows/coding-standards.yml +++ b/.github/workflows/coding-standards.yml @@ -35,7 +35,7 @@ jobs: # Defines the WordPress and PHP Versions matrix to run tests on. strategy: matrix: - wp-versions: [ '6.9-RC2' ] #[ '6.1.1', 'latest' ] + wp-versions: [ '6.9-RC3' ] #[ '6.1.1', 'latest' ] php-versions: [ '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4' ] #[ '7.3', '7.4', '8.0', '8.1' ] # Steps to install, configure and run tests diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index a244c3d..f5bd9be 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -46,7 +46,7 @@ jobs: strategy: fail-fast: false matrix: - wp-versions: [ '6.9-RC2' ] #[ '6.1.1', 'latest' ] + wp-versions: [ '6.9-RC3' ] #[ '6.1.1', 'latest' ] php-versions: [ '8.1', '8.2', '8.3', '8.4' ] #[ '7.3', '7.4', '8.0', '8.1' ] # Folder names within the 'tests' folder to run tests in parallel. From 50c566eeb55a60869b6269acb5e9fa292bf18c10 Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Mon, 1 Dec 2025 18:50:42 +0800 Subject: [PATCH 08/11] Debug Plugin activation --- tests/Support/Helper/ThirdPartyPlugin.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/Support/Helper/ThirdPartyPlugin.php b/tests/Support/Helper/ThirdPartyPlugin.php index 126cdfc..71c5949 100644 --- a/tests/Support/Helper/ThirdPartyPlugin.php +++ b/tests/Support/Helper/ThirdPartyPlugin.php @@ -36,6 +36,8 @@ public function activateThirdPartyPlugin($I, $name) $I->selectOption('action', 'activate-selected'); $I->click('#doaction'); + $I->wait(2); + // Go to the Plugins screen again. $I->amOnPluginsPage(); From c7240b8676551a7f6bd2b5767607ae5d693fe3d4 Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Mon, 1 Dec 2025 19:16:16 +0800 Subject: [PATCH 09/11] Tests: Update plugin activation/deactivation routines --- tests/Support/Helper/ThirdPartyPlugin.php | 25 +++++++---------------- 1 file changed, 7 insertions(+), 18 deletions(-) diff --git a/tests/Support/Helper/ThirdPartyPlugin.php b/tests/Support/Helper/ThirdPartyPlugin.php index 71c5949..edf0ac5 100644 --- a/tests/Support/Helper/ThirdPartyPlugin.php +++ b/tests/Support/Helper/ThirdPartyPlugin.php @@ -36,11 +36,6 @@ public function activateThirdPartyPlugin($I, $name) $I->selectOption('action', 'activate-selected'); $I->click('#doaction'); - $I->wait(2); - - // Go to the Plugins screen again. - $I->amOnPluginsPage(); - // Wait for the Plugins page to load with the Plugin activated, to confirm it activated. $I->waitForElementVisible('table.plugins tr[data-slug=' . $name . '].active'); @@ -70,19 +65,13 @@ public function deactivateThirdPartyPlugin($I, $name) // Wait for the Plugins page to load. $I->waitForElementVisible('body.plugins-php'); - // Depending on the Plugin name, perform deactivation. - switch ($name) { - case 'wpforms-lite': - $I->click('a#deactivate-' . $name); - break; - - default: - // Deactivate the Plugin. - $I->checkOption('//*[@data-slug="' . $name . '"]/th/input'); - $I->selectOption('action', 'deactivate-selected'); - $I->click('#doaction'); - break; - } + // Deactivate the Plugin. + $I->checkOption('//*[@data-slug="' . $name . '"]/th/input'); + $I->selectOption('action', 'deactivate-selected'); + $I->click('#doaction'); + + // Wait for the Plugins page to load with the Plugin deactivated, to confirm it deactivated. + $I->waitForElementVisible('table.plugins tr[data-slug=' . $name . '].inactive'); } /** From 28225c8eec33977201193e1ccfe2e43e2e159a95 Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Mon, 1 Dec 2025 19:20:29 +0800 Subject: [PATCH 10/11] Deactivate WPForms Lite Plugin differently --- tests/Support/Helper/ThirdPartyPlugin.php | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/tests/Support/Helper/ThirdPartyPlugin.php b/tests/Support/Helper/ThirdPartyPlugin.php index edf0ac5..310caab 100644 --- a/tests/Support/Helper/ThirdPartyPlugin.php +++ b/tests/Support/Helper/ThirdPartyPlugin.php @@ -65,10 +65,20 @@ public function deactivateThirdPartyPlugin($I, $name) // Wait for the Plugins page to load. $I->waitForElementVisible('body.plugins-php'); - // Deactivate the Plugin. - $I->checkOption('//*[@data-slug="' . $name . '"]/th/input'); - $I->selectOption('action', 'deactivate-selected'); - $I->click('#doaction'); + // Depending on the Plugin name, perform deactivation. + switch ($name) { + case 'wpforms-lite': + // Using the check option results in a 502 Bad Gateway error. + $I->click('a#deactivate-' . $name); + break; + + default: + // Deactivate the Plugin. + $I->checkOption('//*[@data-slug="' . $name . '"]/th/input'); + $I->selectOption('action', 'deactivate-selected'); + $I->click('#doaction'); + break; + } // Wait for the Plugins page to load with the Plugin deactivated, to confirm it deactivated. $I->waitForElementVisible('table.plugins tr[data-slug=' . $name . '].inactive'); From 5d08ea3eb27033fb9bd2d093a8847a0926f16373 Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Mon, 1 Dec 2025 19:41:06 +0800 Subject: [PATCH 11/11] =?UTF-8?q?Don=E2=80=99t=20check=20for=20Plugin=20de?= =?UTF-8?q?activation=20on=20WPForms=20Lite?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/Support/Helper/ThirdPartyPlugin.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/Support/Helper/ThirdPartyPlugin.php b/tests/Support/Helper/ThirdPartyPlugin.php index 310caab..1893cd7 100644 --- a/tests/Support/Helper/ThirdPartyPlugin.php +++ b/tests/Support/Helper/ThirdPartyPlugin.php @@ -77,11 +77,11 @@ public function deactivateThirdPartyPlugin($I, $name) $I->checkOption('//*[@data-slug="' . $name . '"]/th/input'); $I->selectOption('action', 'deactivate-selected'); $I->click('#doaction'); + + // Wait for the Plugins page to load with the Plugin deactivated, to confirm it deactivated. + $I->waitForElementVisible('table.plugins tr[data-slug=' . $name . '].inactive'); break; } - - // Wait for the Plugins page to load with the Plugin deactivated, to confirm it deactivated. - $I->waitForElementVisible('table.plugins tr[data-slug=' . $name . '].inactive'); } /**