From f19ff060b736444ccca50c246016c2890308b0a2 Mon Sep 17 00:00:00 2001 From: Tetsuaki Hamano Date: Sat, 27 Apr 2024 15:05:21 +0900 Subject: [PATCH] Add e2e test --- .../site-editor-url-navigation.spec.js | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/test/e2e/specs/site-editor/site-editor-url-navigation.spec.js b/test/e2e/specs/site-editor/site-editor-url-navigation.spec.js index 344417cc6a1559..6c497656c265a7 100644 --- a/test/e2e/specs/site-editor/site-editor-url-navigation.spec.js +++ b/test/e2e/specs/site-editor/site-editor-url-navigation.spec.js @@ -57,7 +57,7 @@ test.describe( 'Site editor url navigation', () => { await page.click( 'role=button[name="Create pattern"i]' ); await page .getByRole( 'menu', { name: 'Create pattern' } ) - .getByRole( 'menuitem', { name: 'Create template part' } ) + .getByRole( 'menuitem', { name: 'Create pattern' } ) .click(); // Fill in a name in the dialog that pops up. await page.type( 'role=dialog >> role=textbox[name="Name"i]', 'Demo' ); @@ -66,4 +66,30 @@ test.describe( 'Site editor url navigation', () => { '/wp-admin/site-editor.php?postId=emptytheme%2F%2Fdemo&postType=wp_template_part&canvas=edit' ); } ); + + test( 'The Patterns page should keep the previously selected template part category', async ( { + admin, + page, + } ) => { + await admin.visitSiteEditor(); + const navigation = page.getByRole( 'region', { + name: 'Navigation', + } ); + await navigation.getByRole( 'button', { name: 'Patterns' } ).click(); + await navigation.getByRole( 'button', { name: 'General' } ).click(); + await page + .getByRole( 'region', { + name: 'Patterns content', + } ) + .getByLabel( 'header', { exact: true } ) + .click(); + await expect( + page.getByRole( 'region', { name: 'Editor content' } ) + ).toBeVisible(); + await page.getByRole( 'button', { name: 'Open navigation' } ).click(); + await navigation.getByRole( 'button', { name: 'Back' } ).click(); + await expect( + navigation.getByRole( 'button', { name: 'General' } ) + ).toHaveAttribute( 'aria-current', 'true' ); + } ); } );