From b663bb65fbc4f11c47ad3eb50f4f48464942dde0 Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Sat, 21 Feb 2026 12:23:32 +0800 Subject: [PATCH 01/18] Run Tests against WordPress 7.0 Beta 1 --- .github/workflows/coding-standards.yml | 2 +- .github/workflows/tests.yml | 2 +- tests/Support/Data/dump.sql | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/coding-standards.yml b/.github/workflows/coding-standards.yml index 201631404..638b4c295 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' ] #[ '6.1.1', 'latest' ] + wp-versions: [ '7.0-beta1' ] #[ '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 5897b2574..0cbba9036 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -53,7 +53,7 @@ jobs: strategy: fail-fast: false matrix: - wp-versions: [ 'latest' ] #[ '6.1.1', 'latest' ] + wp-versions: [ '7.0-beta1' ] #[ '6.1.1', 'latest' ] php-versions: [ '8.1', '8.2', '8.3', '8.4' ] #[ '7.4', '8.0', '8.1' ] # Folder names within the 'tests' folder to run tests in parallel. diff --git a/tests/Support/Data/dump.sql b/tests/Support/Data/dump.sql index ba1ffe735..713e442b6 100644 --- a/tests/Support/Data/dump.sql +++ b/tests/Support/Data/dump.sql @@ -168,7 +168,7 @@ INSERT INTO `wp_options` (`option_id`, `option_name`, `option_value`, `autoload` (43, 'html_type', 'text/html', 'on'), (44, 'use_trackback', '0', 'on'), (45, 'default_role', 'subscriber', 'on'), -(46, 'db_version', '60717', 'on'), +(46, 'db_version', '61696', 'on'), (47, 'uploads_use_yearmonth_folders', '1', 'on'), (48, 'upload_path', '', 'on'), (49, 'blog_public', '1', 'on'), @@ -221,7 +221,7 @@ INSERT INTO `wp_options` (`option_id`, `option_name`, `option_value`, `autoload` (96, 'auto_update_core_minor', 'enabled', 'on'), (97, 'auto_update_core_major', 'enabled', 'on'), (98, 'wp_force_deactivated_plugins', 'a:0:{}', 'on'), -(99, 'initial_db_version', '60717', 'on'), +(99, 'initial_db_version', '61696', 'on'), (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;}}}', 'on'), (101, 'fresh_site', '1', 'on'), (102, 'user_count', '1', 'off'), From 5d56a4776e12ea130a9ea9dee16cd014ff8fd45b Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Tue, 24 Feb 2026 08:52:37 +0800 Subject: [PATCH 02/18] Tests: Bulk Edit: Update option label to match WordPress 7.0 beta --- tests/Support/Helper/WPBulkEdit.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/Support/Helper/WPBulkEdit.php b/tests/Support/Helper/WPBulkEdit.php index 4c1ba5614..ed9081130 100644 --- a/tests/Support/Helper/WPBulkEdit.php +++ b/tests/Support/Helper/WPBulkEdit.php @@ -89,7 +89,7 @@ public function openBulkEdit($I, $postType, $postIDs) } // Select Edit from the Bulk actions dropdown. - $I->selectOption('#bulk-action-selector-top', 'Edit'); + $I->selectOption('#bulk-action-selector-top', 'Bulk edit'); // Click Apply button. $I->click('#doaction'); From 1e831991ef8bcf2bd35f2a4d61f4f92334598686 Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Tue, 3 Mar 2026 17:21:48 +0800 Subject: [PATCH 03/18] Run tests against WordPress 7.0 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 638b4c295..ac0543af7 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: [ '7.0-beta1' ] #[ '6.1.1', 'latest' ] + wp-versions: [ '7.0-beta2' ] #[ '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 0cbba9036..4b89b2119 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -53,7 +53,7 @@ jobs: strategy: fail-fast: false matrix: - wp-versions: [ '7.0-beta1' ] #[ '6.1.1', 'latest' ] + wp-versions: [ '7.0-beta2' ] #[ '6.1.1', 'latest' ] php-versions: [ '8.1', '8.2', '8.3', '8.4' ] #[ '7.4', '8.0', '8.1' ] # Folder names within the 'tests' folder to run tests in parallel. From 01b3d4cf1873237da9d40921c198805141e4d190 Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Tue, 3 Mar 2026 18:54:23 +0800 Subject: [PATCH 04/18] Fix: Use named ID for pre-publish action toggles --- .../broadcasts/import-export/BroadcastsExportPostCest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/EndToEnd/broadcasts/import-export/BroadcastsExportPostCest.php b/tests/EndToEnd/broadcasts/import-export/BroadcastsExportPostCest.php index a276f5f2e..4d7494593 100644 --- a/tests/EndToEnd/broadcasts/import-export/BroadcastsExportPostCest.php +++ b/tests/EndToEnd/broadcasts/import-export/BroadcastsExportPostCest.php @@ -168,7 +168,7 @@ public function testCreateBroadcastWhenEnabledInPost(EndToEndTester $I) $I->waitForElementVisible('.editor-post-publish-panel__header-publish-button'); // Enable the Create Broadcast option. - $I->click('.convertkit-pre-publish-actions #inspector-toggle-control-0'); + $I->click('.convertkit-pre-publish-actions #convertkit_action_broadcast_export'); // Publish the Post. $I->clickPublishOnPrePublishChecksForGutenbergPage($I); From b5c18c16f7115ecd8a11a2f39cb4af5300a88a7d Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Tue, 3 Mar 2026 19:04:55 +0800 Subject: [PATCH 05/18] Tests: Switch to main iframe before switching to the block editor --- tests/Support/Helper/KitPlugin.php | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/Support/Helper/KitPlugin.php b/tests/Support/Helper/KitPlugin.php index 282d12184..9c991cb37 100644 --- a/tests/Support/Helper/KitPlugin.php +++ b/tests/Support/Helper/KitPlugin.php @@ -813,6 +813,7 @@ public function testBlockNoCredentialsPopupWindow($I, $blockName, $expectedMessa // Switch to the Gutenberg IFrame. if ($I->isGutenbergIFrameEditorEnabled()) { + $I->switchToIFrame(); $I->switchToGutenbergIFrameEditor($I); } From ec6f1e6bb75bbbf6e1fd10e7adf6a3eca2aa6aa9 Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Mon, 9 Mar 2026 10:43:11 +0800 Subject: [PATCH 06/18] Run tests against WordPress 7.0 Beta 3 --- .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 ac0543af7..cfae53dbe 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: [ '7.0-beta2' ] #[ '6.1.1', 'latest' ] + wp-versions: [ '7.0-beta3' ] #[ '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 5ef70cbc7..537f33e42 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -53,7 +53,7 @@ jobs: strategy: fail-fast: false matrix: - wp-versions: [ '7.0-beta2' ] #[ '6.1.1', 'latest' ] + wp-versions: [ '7.0-beta3' ] #[ '6.1.1', 'latest' ] php-versions: [ '8.1', '8.2', '8.3', '8.4' ] #[ '7.4', '8.0', '8.1' ] # Folder names within the 'tests' folder to run tests in parallel. From 4e0d7531929cf55d9490207a7f3f080a434fc7e2 Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Thu, 19 Mar 2026 10:15:03 +0800 Subject: [PATCH 07/18] Run Tests against WordPress 7.0 Beta 5 --- .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 cfae53dbe..4edfb84c3 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: [ '7.0-beta3' ] #[ '6.1.1', 'latest' ] + wp-versions: [ '7.0-beta5' ] #[ '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 537f33e42..5797fa509 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -53,7 +53,7 @@ jobs: strategy: fail-fast: false matrix: - wp-versions: [ '7.0-beta3' ] #[ '6.1.1', 'latest' ] + wp-versions: [ '7.0-beta5' ] #[ '6.1.1', 'latest' ] php-versions: [ '8.1', '8.2', '8.3', '8.4' ] #[ '7.4', '8.0', '8.1' ] # Folder names within the 'tests' folder to run tests in parallel. From 719fb7ee894065bd24e23039a4e9c82b626cf760 Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Thu, 19 Mar 2026 10:24:32 +0800 Subject: [PATCH 08/18] Bump db_version to 61833 --- 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 713e442b6..142f4cf2a 100644 --- a/tests/Support/Data/dump.sql +++ b/tests/Support/Data/dump.sql @@ -168,7 +168,7 @@ INSERT INTO `wp_options` (`option_id`, `option_name`, `option_value`, `autoload` (43, 'html_type', 'text/html', 'on'), (44, 'use_trackback', '0', 'on'), (45, 'default_role', 'subscriber', 'on'), -(46, 'db_version', '61696', 'on'), +(46, 'db_version', '61833', 'on'), (47, 'uploads_use_yearmonth_folders', '1', 'on'), (48, 'upload_path', '', 'on'), (49, 'blog_public', '1', 'on'), @@ -221,7 +221,7 @@ INSERT INTO `wp_options` (`option_id`, `option_name`, `option_value`, `autoload` (96, 'auto_update_core_minor', 'enabled', 'on'), (97, 'auto_update_core_major', 'enabled', 'on'), (98, 'wp_force_deactivated_plugins', 'a:0:{}', 'on'), -(99, 'initial_db_version', '61696', 'on'), +(99, 'initial_db_version', '61833', 'on'), (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;}}}', 'on'), (101, 'fresh_site', '1', 'on'), (102, 'user_count', '1', 'off'), From f5e0c4f07c2777e67dc1cb7bcbadc09c4f18878e Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Thu, 19 Mar 2026 12:07:26 +0800 Subject: [PATCH 09/18] Tests: Posts to Broadcasts: Update selectors for Gutenberg --- .../broadcasts/import-export/BroadcastsExportPostCest.php | 6 +++--- tests/Support/Helper/WPGutenberg.php | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/tests/EndToEnd/broadcasts/import-export/BroadcastsExportPostCest.php b/tests/EndToEnd/broadcasts/import-export/BroadcastsExportPostCest.php index 4d7494593..34d4821a3 100644 --- a/tests/EndToEnd/broadcasts/import-export/BroadcastsExportPostCest.php +++ b/tests/EndToEnd/broadcasts/import-export/BroadcastsExportPostCest.php @@ -164,11 +164,11 @@ public function testCreateBroadcastWhenEnabledInPost(EndToEndTester $I) // Click the Publish button. $I->click('.editor-post-publish-button__button'); - // When the pre-publish panel displays, confirm no Create Broadcast option exists. - $I->waitForElementVisible('.editor-post-publish-panel__header-publish-button'); + // Wait for the Create Broadcast option to be visible. + $I->waitForElementVisible('.convertkit-pre-publish-actions.is-opened'); // Enable the Create Broadcast option. - $I->click('.convertkit-pre-publish-actions #convertkit_action_broadcast_export'); + $I->click('.convertkit-pre-publish-actions.is-opened input#convertkit_action_broadcast_export'); // Publish the Post. $I->clickPublishOnPrePublishChecksForGutenbergPage($I); diff --git a/tests/Support/Helper/WPGutenberg.php b/tests/Support/Helper/WPGutenberg.php index e1ae82bf1..a5774b0e2 100644 --- a/tests/Support/Helper/WPGutenberg.php +++ b/tests/Support/Helper/WPGutenberg.php @@ -604,11 +604,11 @@ function($I) { 15 ); - // Wait for confirmation that the Page published. - $I->waitForElementVisible('.post-publish-panel__postpublish-buttons a.components-button', 30); + // Wait for the snackbar notification that the post has been published. + $I->waitForElementVisible('div.components-snackbar__content a.components-snackbar__action', 30); - // Return URL from 'View page' button. - return $I->grabAttributeFrom('.post-publish-panel__postpublish-buttons a.components-button', 'href'); + // Return the URL from the 'View Post' button in the snackbar. + return $I->grabAttributeFrom('div.components-snackbar__content a.components-snackbar__action', 'href'); } /** From a6f48dbbdee6809f975dbaa8e0550a00085b07cc Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Thu, 19 Mar 2026 12:07:35 +0800 Subject: [PATCH 10/18] Tests: Broadcasts: Wait for success message to avoid flaky tests --- tests/Support/Helper/KitBroadcasts.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/Support/Helper/KitBroadcasts.php b/tests/Support/Helper/KitBroadcasts.php index 60de6e27f..9b1b3287d 100644 --- a/tests/Support/Helper/KitBroadcasts.php +++ b/tests/Support/Helper/KitBroadcasts.php @@ -54,6 +54,9 @@ public function setupKitPluginBroadcasts($I, $settings = false) // Click the Save Changes button. $I->click('Save Changes'); + // Confirm that the settings were saved. + $I->waitForElementVisible('.notice-success'); + // Check that no PHP warnings or notices were output. $I->checkNoWarningsAndNoticesOnScreen($I); } From ff39bd9a29693c1870e6b516d6f471d415d0d48d Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Thu, 19 Mar 2026 12:26:51 +0800 Subject: [PATCH 11/18] Tests: Check for paragraph with class 7.0 adds the `wp-block-paragraph` to `p` elements --- tests/Support/Helper/KitForms.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/Support/Helper/KitForms.php b/tests/Support/Helper/KitForms.php index f4525c36c..2a2f20ae4 100644 --- a/tests/Support/Helper/KitForms.php +++ b/tests/Support/Helper/KitForms.php @@ -53,7 +53,7 @@ public function seeFormOutput($I, $formID, $position = false, $element = false, // The block editor automatically adds CSS classes to some elements. switch ( $element ) { case 'p': - $I->seeInSource('<' . $element . '>Item #' . $elementIndex . '
seeInSource('<' . $element . ' class="wp-block-paragraph">Item #' . $elementIndex . ' Date: Thu, 19 Mar 2026 12:42:42 +0800 Subject: [PATCH 12/18] Tests: Improve reliability of completing block editor title --- tests/Support/Helper/Divi5Theme.php | 1 + tests/Support/Helper/DiviBuilder.php | 1 + tests/Support/Helper/WPGutenberg.php | 1 + 3 files changed, 3 insertions(+) diff --git a/tests/Support/Helper/Divi5Theme.php b/tests/Support/Helper/Divi5Theme.php index 4a3077432..a7c020614 100644 --- a/tests/Support/Helper/Divi5Theme.php +++ b/tests/Support/Helper/Divi5Theme.php @@ -28,6 +28,7 @@ public function createDivi5Page($I, $title, $configureMetaBox = true) $I->waitForElementVisible('body.post-new-php'); // Define the Title. + $I->waitForElementVisible('.editor-post-title__input'); $I->fillField('.editor-post-title__input', $title); // Configure metabox's Form setting = None, ensuring we only test the Divi block. diff --git a/tests/Support/Helper/DiviBuilder.php b/tests/Support/Helper/DiviBuilder.php index 5c7ff3402..2cf65550d 100644 --- a/tests/Support/Helper/DiviBuilder.php +++ b/tests/Support/Helper/DiviBuilder.php @@ -90,6 +90,7 @@ public function createDiviPageInFrontendEditor($I, $title, $configureMetaBox = t $I->waitForElementVisible('body.post-new-php'); // Define the Title. + $I->waitForElementVisible('.editor-post-title__input'); $I->fillField('.editor-post-title__input', $title); // Configure metabox's Form setting = None, ensuring we only test the block in Gutenberg. diff --git a/tests/Support/Helper/WPGutenberg.php b/tests/Support/Helper/WPGutenberg.php index a5774b0e2..a9630089b 100644 --- a/tests/Support/Helper/WPGutenberg.php +++ b/tests/Support/Helper/WPGutenberg.php @@ -57,6 +57,7 @@ public function addGutenbergPage($I, $postType = 'page', $title = 'Gutenberg Tit } // Define the Title. + $I->waitForElementVisible('.editor-post-title__input'); $I->fillField('.editor-post-title__input', $title); // Switch back to main window. From 1cb80732c1c9d98c0a117e8c4f968872aea2b450 Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Thu, 19 Mar 2026 13:54:28 +0800 Subject: [PATCH 13/18] Divi: Add page using helper, as Divi is iframed in 7.0 --- tests/Support/Helper/Divi5Theme.php | 13 ++++--------- tests/Support/Helper/DiviBuilder.php | 29 ++++++++++++++-------------- 2 files changed, 18 insertions(+), 24 deletions(-) diff --git a/tests/Support/Helper/Divi5Theme.php b/tests/Support/Helper/Divi5Theme.php index a7c020614..1ed430f63 100644 --- a/tests/Support/Helper/Divi5Theme.php +++ b/tests/Support/Helper/Divi5Theme.php @@ -21,15 +21,10 @@ class Divi5Theme extends \Codeception\Module public function createDivi5Page($I, $title, $configureMetaBox = true) { // Add a Page using the Gutenberg editor. - // We don't use addGutenbergPage(), as when the Divi Builder is used, the iframed Gutenberg editor is not used, - // and addGutenbergPage() may switch to an iframe based on the value of the WORDPRESS_V3_BLOCK_EDITOR_ENABLED environment variable. - // Navigate to Post Type (e.g. Pages / Posts) > Add New. - $I->amOnAdminPage('post-new.php?post_type=page'); - $I->waitForElementVisible('body.post-new-php'); - - // Define the Title. - $I->waitForElementVisible('.editor-post-title__input'); - $I->fillField('.editor-post-title__input', $title); + $I->addGutenbergPage( + $I, + title: $title + ); // Configure metabox's Form setting = None, ensuring we only test the Divi block. if ($configureMetaBox) { diff --git a/tests/Support/Helper/DiviBuilder.php b/tests/Support/Helper/DiviBuilder.php index 2cf65550d..4c58fc3b8 100644 --- a/tests/Support/Helper/DiviBuilder.php +++ b/tests/Support/Helper/DiviBuilder.php @@ -83,15 +83,10 @@ public function createDiviPageInBackendEditor($I, $title) public function createDiviPageInFrontendEditor($I, $title, $configureMetaBox = true) { // Add a Page using the Gutenberg editor. - // We don't use addGutenbergPage(), as when the Divi Builder is used, the iframed Gutenberg editor is not used, - // and addGutenbergPage() may switch to an iframe based on the value of the WORDPRESS_V3_BLOCK_EDITOR_ENABLED environment variable. - // Navigate to Post Type (e.g. Pages / Posts) > Add New. - $I->amOnAdminPage('post-new.php?post_type=page'); - $I->waitForElementVisible('body.post-new-php'); - - // Define the Title. - $I->waitForElementVisible('.editor-post-title__input'); - $I->fillField('.editor-post-title__input', $title); + $I->addGutenbergPage( + $I, + title: $title + ); // Configure metabox's Form setting = None, ensuring we only test the block in Gutenberg. if ($configureMetaBox) { @@ -107,15 +102,19 @@ public function createDiviPageInFrontendEditor($I, $title, $configureMetaBox = t // Publish Page. $url = $I->publishGutenbergPage($I); - // Click Divi Builder button inside the Gutenberg editor. - $I->click('Use Divi Builder'); + // Load page. + $I->amOnUrl($url); - // Reload page to dismiss modal. - $I->wait(5); - $I->amOnUrl($url . '?et_fb=1&PageSpeed=off'); + // Enable the Divi Builder. + $I->waitForElementVisible('#wp-admin-bar-et-use-visual-builder'); + $I->click('#wp-admin-bar-et-use-visual-builder a'); + + // Wait for the welcome modal and dismiss it. + $I->waitForElementVisible('.et-core-modal-action-dont-restore'); + $I->click('.et-core-modal-action-dont-restore'); // Click Build from scratch button. - $I->waitForElementVisible('.et-fb-page-creation-card-build_from_scratch', 30); + $I->waitForElementVisible('.et-fb-page-creation-card-build_from_scratch'); $I->click('Start Building', '.et-fb-page-creation-card-build_from_scratch'); return $url; From 05e9bb252cd2a24c0a0c0b05be880229116ba340 Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Thu, 19 Mar 2026 13:54:51 +0800 Subject: [PATCH 14/18] Coding standards --- tests/Support/Helper/DiviBuilder.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/Support/Helper/DiviBuilder.php b/tests/Support/Helper/DiviBuilder.php index 4c58fc3b8..9d0384c67 100644 --- a/tests/Support/Helper/DiviBuilder.php +++ b/tests/Support/Helper/DiviBuilder.php @@ -108,7 +108,7 @@ public function createDiviPageInFrontendEditor($I, $title, $configureMetaBox = t // Enable the Divi Builder. $I->waitForElementVisible('#wp-admin-bar-et-use-visual-builder'); $I->click('#wp-admin-bar-et-use-visual-builder a'); - + // Wait for the welcome modal and dismiss it. $I->waitForElementVisible('.et-core-modal-action-dont-restore'); $I->click('.et-core-modal-action-dont-restore'); From 83839088bca7e460fb48fa44379f00e96e3186d5 Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Wed, 25 Mar 2026 11:01:43 +0800 Subject: [PATCH 15/18] Run Tests against WordPress 7.0 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 5e7b3db67..c03d95f3f 100644 --- a/.github/workflows/coding-standards.yml +++ b/.github/workflows/coding-standards.yml @@ -40,7 +40,7 @@ jobs: # Defines the WordPress and PHP Versions matrix to run tests on. strategy: matrix: - wp-versions: [ '7.0-beta5' ] #[ '6.1.1', 'latest' ] + wp-versions: [ '7.0-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 a9a5e1356..b90bcd9ef 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -58,7 +58,7 @@ jobs: strategy: fail-fast: false matrix: - wp-versions: [ '7.0-beta5' ] #[ '6.1.1', 'latest' ] + wp-versions: [ '7.0-RC1' ] #[ '6.1.1', 'latest' ] php-versions: [ '8.1', '8.2', '8.3', '8.4' ] #[ '7.4', '8.0', '8.1' ] # Folder names within the 'tests' folder to run tests in parallel. From 57bb87bce4d9206fc3b08ef28a19fc98299fcaad Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Wed, 25 Mar 2026 15:28:05 +0800 Subject: [PATCH 16/18] =?UTF-8?q?Tests:=20Divi:=20Don=E2=80=99t=20switch?= =?UTF-8?q?=20to=20block=20editor=20iframe=20when=20it=20doesn=E2=80=99t?= =?UTF-8?q?=20exist?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Divi prevents the block editor loading in an iframe in WordPress 7.0, even if all blocks are apiVersion 3 --- tests/EndToEnd.suite.yml | 2 ++ tests/Support/Helper/WPGutenberg.php | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/tests/EndToEnd.suite.yml b/tests/EndToEnd.suite.yml index 8e565cf34..4b2b755bb 100644 --- a/tests/EndToEnd.suite.yml +++ b/tests/EndToEnd.suite.yml @@ -6,6 +6,8 @@ actor: EndToEndTester bootstrap: _bootstrap.php +step_decorators: + - \Codeception\Step\TryTo modules: enabled: # wp-browser supplied classes, which provide WordPress specific functions diff --git a/tests/Support/Helper/WPGutenberg.php b/tests/Support/Helper/WPGutenberg.php index a9630089b..3315ee70d 100644 --- a/tests/Support/Helper/WPGutenberg.php +++ b/tests/Support/Helper/WPGutenberg.php @@ -33,6 +33,12 @@ public function isGutenbergIFrameEditorEnabled() */ public function switchToGutenbergIFrameEditor($I) { + // Don't switch if the iframe doesn't exist e.g. Divi is active, which prevents + // the iframe block editor in WordPress 7.0+ from being used. + if (!$I->tryToSeeElement('iframe[name="editor-canvas"]')) { + return; + } + $I->switchToIFrame('iframe[name="editor-canvas"]'); } From c59c1bc5256f5c112dbff188084d3fff00a88ed2 Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Wed, 25 Mar 2026 15:29:01 +0800 Subject: [PATCH 17/18] Tests: Coding Standards --- tests/Support/Helper/WPGutenberg.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/Support/Helper/WPGutenberg.php b/tests/Support/Helper/WPGutenberg.php index 3315ee70d..8f11f07d5 100644 --- a/tests/Support/Helper/WPGutenberg.php +++ b/tests/Support/Helper/WPGutenberg.php @@ -35,7 +35,7 @@ public function switchToGutenbergIFrameEditor($I) { // Don't switch if the iframe doesn't exist e.g. Divi is active, which prevents // the iframe block editor in WordPress 7.0+ from being used. - if (!$I->tryToSeeElement('iframe[name="editor-canvas"]')) { + if ( ! $I->tryToSeeElement('iframe[name="editor-canvas"]')) { return; } From 0a157e80ac98a2d6afe9f6a5f83b9a88eaa42a58 Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Fri, 27 Mar 2026 10:56:44 +0800 Subject: [PATCH 18/18] Run Tests against WordPress 7.0 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 c03d95f3f..6beb6a74f 100644 --- a/.github/workflows/coding-standards.yml +++ b/.github/workflows/coding-standards.yml @@ -40,7 +40,7 @@ jobs: # Defines the WordPress and PHP Versions matrix to run tests on. strategy: matrix: - wp-versions: [ '7.0-RC1' ] #[ '6.1.1', 'latest' ] + wp-versions: [ '7.0-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 b90bcd9ef..58d8e9e96 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -58,7 +58,7 @@ jobs: strategy: fail-fast: false matrix: - wp-versions: [ '7.0-RC1' ] #[ '6.1.1', 'latest' ] + wp-versions: [ '7.0-RC2' ] #[ '6.1.1', 'latest' ] php-versions: [ '8.1', '8.2', '8.3', '8.4' ] #[ '7.4', '8.0', '8.1' ] # Folder names within the 'tests' folder to run tests in parallel.