[e2e] External - Expand WPCOM suite, part 1 (#51303)

* Expand WPCOM suite

* Skip core-profiler.spec.js on WPCOM - no "Coming soon"

* Skip `Analytics-related tests` on WPCOM - different sums

* Skip `Marketing Overview page have relevant content` - no content on WPCOM

* Payment setup task - make Save button more unique

* Include more tests in playwright.config.js

* Skip `Store owner can skip the core profiler`

* Add changefile(s) from automation for the following project(s): woocommerce

* Make "Get paid" more unique

---------

Co-authored-by: github-actions <github-actions@github.com>
This commit is contained in:
Ivan Stojadinov 2024-09-16 13:56:44 +02:00 committed by GitHub
parent 77a17e48b7
commit cebdcc61d0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 56 additions and 37 deletions

View File

@ -0,0 +1,4 @@
Significance: patch
Type: update
Expand the e2e suite we're running on WPCOM.

View File

@ -9,6 +9,10 @@ config = {
use: { ...devices[ 'Desktop Chrome' ] }, use: { ...devices[ 'Desktop Chrome' ] },
testMatch: [ testMatch: [
'**/basic.spec.js', '**/basic.spec.js',
'**/activate-and-setup/**/*.spec.js',
'**/admin-analytics/**/*.spec.js',
'**/admin-marketing/**/*.spec.js',
'**/admin-tasks/**/*.spec.js',
'**/shopper/**/*.spec.js', '**/shopper/**/*.spec.js',
'**/api-tests/**/*.test.js', '**/api-tests/**/*.test.js',
], ],

View File

@ -3,7 +3,7 @@ const { setOption } = require( '../../utils/options' );
test.describe( test.describe(
'Store owner can complete the core profiler', 'Store owner can complete the core profiler',
{ tag: '@skip-on-default-pressable' }, { tag: [ '@skip-on-default-pressable', '@skip-on-default-wpcom' ] },
() => { () => {
test.use( { storageState: process.env.ADMINSTATE } ); test.use( { storageState: process.env.ADMINSTATE } );
@ -450,7 +450,7 @@ test.describe(
test.describe( test.describe(
'Store owner can skip the core profiler', 'Store owner can skip the core profiler',
{ tag: '@skip-on-default-pressable' }, { tag: [ '@skip-on-default-pressable', '@skip-on-default-wpcom' ] },
() => { () => {
test.use( { storageState: process.env.ADMINSTATE } ); test.use( { storageState: process.env.ADMINSTATE } );

View File

@ -25,7 +25,14 @@ const test = baseTest.extend( {
test.describe( test.describe(
'Analytics-related tests', 'Analytics-related tests',
{ tag: [ '@payments', '@services', '@skip-on-default-pressable' ] }, {
tag: [
'@payments',
'@services',
'@skip-on-default-pressable',
'@skip-on-default-wpcom',
],
},
() => { () => {
let categoryIds, productIds, orderIds, setupPage; let categoryIds, productIds, orderIds, setupPage;

View File

@ -15,40 +15,44 @@ test.describe( 'Marketing page', () => {
).toBeVisible(); ).toBeVisible();
} ); } );
test( 'Marketing Overview page have relevant content', async ( { test(
page, 'Marketing Overview page have relevant content',
} ) => { { tag: '@skip-on-default-wpcom' },
// Go to the Marketing page. async ( { page } ) => {
await page.goto( 'wp-admin/admin.php?page=wc-admin&path=%2Fmarketing' ); // Go to the Marketing page.
await page.goto(
'wp-admin/admin.php?page=wc-admin&path=%2Fmarketing'
);
// Heading should be overview // Heading should be overview
await expect( await expect(
page.getByRole( 'heading', { name: 'Overview' } ) page.getByRole( 'heading', { name: 'Overview' } )
).toBeVisible(); ).toBeVisible();
// Sections present // Sections present
await expect( await expect(
page.getByText( 'Channels', { exact: true } ) page.getByText( 'Channels', { exact: true } )
).toBeVisible(); ).toBeVisible();
await expect( await expect(
page.getByText( 'Discover more marketing tools' ) page.getByText( 'Discover more marketing tools' )
).toBeVisible(); ).toBeVisible();
await expect( await expect(
page.getByRole( 'tab', { name: 'Email' } ) page.getByRole( 'tab', { name: 'Email' } )
).toBeVisible(); ).toBeVisible();
await expect( await expect(
page.getByRole( 'tab', { name: 'Automations' } ) page.getByRole( 'tab', { name: 'Automations' } )
).toBeVisible(); ).toBeVisible();
await expect( await expect(
page.getByRole( 'tab', { name: 'Conversion' } ) page.getByRole( 'tab', { name: 'Conversion' } )
).toBeVisible(); ).toBeVisible();
await expect( await expect(
page.getByRole( 'tab', { name: 'CRM', exact: true } ) page.getByRole( 'tab', { name: 'CRM', exact: true } )
).toBeVisible(); ).toBeVisible();
await expect( await expect(
page.getByText( 'Learn about marketing a store' ) page.getByText( 'Learn about marketing a store' )
).toBeVisible(); ).toBeVisible();
} ); }
);
test( test(
'Introduction can be dismissed', 'Introduction can be dismissed',

View File

@ -73,7 +73,7 @@ test.describe( 'Payment setup task', () => {
await page await page
.locator( '//input[@placeholder="BIC / Swift"]' ) .locator( '//input[@placeholder="BIC / Swift"]' )
.fill( 'ABBA' ); .fill( 'ABBA' );
await page.locator( 'text=Save' ).click(); await page.getByRole( 'button', { name: 'Save' } ).click();
// Check that bank transfers were set up. // Check that bank transfers were set up.
await expect( await expect(
@ -93,7 +93,7 @@ test.describe( 'Payment setup task', () => {
page, page,
} ) => { } ) => {
await page.goto( 'wp-admin/admin.php?page=wc-admin' ); await page.goto( 'wp-admin/admin.php?page=wc-admin' );
await page.locator( 'text=Get paid' ).click(); await page.getByRole( 'button', { name: '3 Get paid' } ).click();
await expect( await expect(
page.locator( '.woocommerce-layout__header-wrapper > h1' ) page.locator( '.woocommerce-layout__header-wrapper > h1' )
).toHaveText( 'Get paid' ); ).toHaveText( 'Get paid' );