diff --git a/modules/admin-home/rest/admin-config.php b/modules/admin-home/rest/admin-config.php index 52055518..c9d87d7c 100644 --- a/modules/admin-home/rest/admin-config.php +++ b/modules/admin-home/rest/admin-config.php @@ -86,6 +86,7 @@ private function get_elementor_editor_url( ?int $page_id, string $active_tab ): 'post' => $page_id, 'action' => 'elementor', 'active-tab' => $active_tab, + 'active-document' => $active_kit_id, ], admin_url( 'post.php' ) ); diff --git a/tests/playwright/tests/admin/hello-theme-admin-home.test.ts b/tests/playwright/tests/admin/hello-theme-admin-home.test.ts index de0bb079..69567152 100644 --- a/tests/playwright/tests/admin/hello-theme-admin-home.test.ts +++ b/tests/playwright/tests/admin/hello-theme-admin-home.test.ts @@ -34,45 +34,47 @@ test.describe( 'Hello Theme Admin Home Page', () => { const quickLinksTests = [ { linkText: 'Site Name', - expectedUrlPattern: /post\.php\?post=\d+&action=elementor.*active-tab=settings-site-identity/, + expectedUrlPattern: /post\.php\?post=\d+&action=elementor.*active-tab=settings-site-identity.*active-document=\d+/, expectedPageSection: '.elementor-control-section_settings-site-identity', }, { linkText: 'Site Logo', - expectedUrlPattern: /post\.php\?post=\d+&action=elementor.*active-tab=settings-site-identity/, + expectedUrlPattern: /post\.php\?post=\d+&action=elementor.*active-tab=settings-site-identity.*active-document=\d+/, expectedPageSection: '.elementor-control-section_settings-site-identity', }, { linkText: 'Site Favicon', - expectedUrlPattern: /post\.php\?post=\d+&action=elementor.*active-tab=settings-site-identity/, + expectedUrlPattern: /post\.php\?post=\d+&action=elementor.*active-tab=settings-site-identity.*active-document=\d+/, expectedPageSection: '.elementor-control-section_settings-site-identity', }, { linkText: 'Site Colors', - expectedUrlPattern: /post\.php\?post=\d+&action=elementor.*active-tab=global-colors/, + expectedUrlPattern: /post\.php\?post=\d+&action=elementor.*active-tab=global-colors.*active-document=\d+/, expectedPageSection: '.elementor-control-section_global_colors', }, { linkText: 'Site Fonts', - expectedUrlPattern: /post\.php\?post=\d+&action=elementor.*active-tab=global-typography/, + expectedUrlPattern: /post\.php\?post=\d+&action=elementor.*active-tab=global-typography.*active-document=\d+/, expectedPageSection: '.elementor-control-section_text_style', }, ]; - for ( const linkTest of quickLinksTests ) { - await page.goto( '/wp-admin/admin.php?page=hello-elementor' ); - const linkElement = page.locator( `h6:has-text("${ linkTest.linkText }") a` ); - await expect( linkElement ).toBeVisible(); - await Promise.all( [ - page.waitForURL( linkTest.expectedUrlPattern ), - linkElement.click(), - ] ); + for ( const linkTest of quickLinksTests ) { + await test.step( linkTest.linkText, async () => { + await page.goto( '/wp-admin/admin.php?page=hello-elementor' ); + const linkElement = page.locator( `h6:has-text("${ linkTest.linkText }") a` ); + await expect( linkElement ).toBeVisible(); - expect( page.url() ).toMatch( linkTest.expectedUrlPattern ); + await Promise.all( [ + page.waitForURL( linkTest.expectedUrlPattern ), + linkElement.click(), + ] ); - await page.waitForSelector( '#elementor-kit-panel' ); - const location = page.locator( linkTest.expectedPageSection ); - await expect( location ).toBeVisible(); + expect( page.url() ).toMatch( linkTest.expectedUrlPattern ); + await page.waitForSelector( '#elementor-kit-panel' ); + const location = page.locator( linkTest.expectedPageSection ); + await expect( location ).toBeVisible(); + } ); } } ); } );