Add e2e test for Merchant > Pages > Can create a new page (#38238)
* Add create-page.spec.js Create e2e test for Critical Flow: Merchant > Pages > Can create a new page * Add changelog entry * Update selector for close dialog --------- Co-authored-by: Jon Lane <jon.lane@automattic.com>
This commit is contained in:
parent
1188197a2f
commit
7e3729c5fc
|
@ -0,0 +1,4 @@
|
|||
Significance: minor
|
||||
Type: add
|
||||
|
||||
Add e2e test for Merchant > Pages > Can create a new page
|
|
@ -0,0 +1,73 @@
|
|||
const { test, expect, request } = require( '@playwright/test' );
|
||||
const { admin } = require( '../../test-data/data' );
|
||||
|
||||
const pageTitle = `Page-${ new Date().getTime().toString() }`;
|
||||
|
||||
test.describe( 'Can create a new page', () => {
|
||||
test.use( { storageState: process.env.ADMINSTATE } );
|
||||
|
||||
test.afterAll( async ( { baseURL } ) => {
|
||||
const base64auth = Buffer.from(
|
||||
`${ admin.username }:${ admin.password }`
|
||||
).toString( 'base64' );
|
||||
const wpApi = await request.newContext( {
|
||||
baseURL: `${ baseURL }/wp-json/wp/v2/`,
|
||||
extraHTTPHeaders: {
|
||||
Authorization: `Basic ${ base64auth }`,
|
||||
},
|
||||
} );
|
||||
|
||||
let response = await wpApi.get( `pages` );
|
||||
const allPages = await response.json();
|
||||
|
||||
await allPages.forEach( async ( page ) => {
|
||||
if ( page.title.rendered === pageTitle ) {
|
||||
response = await wpApi.delete( `pages/${ page.id }`, {
|
||||
data: {
|
||||
force: true,
|
||||
},
|
||||
} );
|
||||
}
|
||||
} );
|
||||
} );
|
||||
|
||||
test( 'can create new page', async ( { page } ) => {
|
||||
await page.goto( 'wp-admin/post-new.php?post_type=page' );
|
||||
|
||||
const welcomeModalVisible = await page
|
||||
.getByRole( 'heading', {
|
||||
name: 'Welcome to the block editor',
|
||||
} )
|
||||
.isVisible();
|
||||
|
||||
if ( welcomeModalVisible ) {
|
||||
await page.getByRole( 'button', { name: 'Close' } ).click();
|
||||
}
|
||||
|
||||
await page
|
||||
.getByRole( 'textbox', { name: 'Add Title' } )
|
||||
.fill( pageTitle );
|
||||
|
||||
await page.getByRole( 'button', { name: 'Add default block' } ).click();
|
||||
|
||||
await page
|
||||
.getByRole( 'document', {
|
||||
name:
|
||||
'Empty block; start writing or type forward slash to choose a block',
|
||||
} )
|
||||
.fill( 'Test Page' );
|
||||
|
||||
await page
|
||||
.getByRole( 'button', { name: 'Publish', exact: true } )
|
||||
.click();
|
||||
|
||||
await page
|
||||
.getByRole( 'region', { name: 'Editor publish' } )
|
||||
.getByRole( 'button', { name: 'Publish', exact: true } )
|
||||
.click();
|
||||
|
||||
await expect(
|
||||
page.getByText( `${ pageTitle } is now live.` )
|
||||
).toBeVisible();
|
||||
} );
|
||||
} );
|
Loading…
Reference in New Issue