11import { test , expect } from '@wordpress/e2e-test-utils-playwright' ;
22import { ERROR_FLAG_EXISTS , ERROR_FLAG_INVALID } from '../../src/constants' ;
3+ import { AddNewFlag , AddNewFlagAndFill , DisableFlag , SaveFlags , deleteLastFlag } from './helper' ;
34
45// eslint-disable-next-line
56test . use ( { storageState : process . env . WP_AUTH_STORAGE } ) ;
@@ -19,20 +20,16 @@ test.describe('Feature flags', () => {
1920
2021 test ( 'Create and delete flags e2e scenarios' , async ( { page } ) => {
2122 //Create new flag
22- await page . getByRole ( 'button' , { name : 'Add Flag' } ) . click ( ) ;
23- await page . getByRole ( 'textbox' ) . last ( ) . fill ( 'test' ) ;
24- await page . getByRole ( 'button' , { name : 'Save' } ) . click ( ) ;
23+ await AddNewFlagAndFill ( page , 'test' ) ;
24+ await SaveFlags ( page ) ;
25+
2526 //Confirm save success
2627 expect (
2728 await page . getByLabel ( 'Dismiss this notice' ) . innerText ( )
2829 ) . toMatch ( / S a v e d s u c c e s s f u l l y ! / ) ;
2930
30- //Toggle feature flag
31- await page
32- . locator ( 'id=mr-feature-flag-item' )
33- . last ( )
34- . getByLabel ( 'Flag enabled' )
35- . click ( ) ;
31+ await DisableFlag ( page , true ) ;
32+
3633 expect (
3734 await page . getByLabel ( 'Dismiss this notice' ) . innerText ( )
3835 ) . toMatch ( / S a v e d s u c c e s s f u l l y ! / ) ;
@@ -44,13 +41,12 @@ test.describe('Feature flags', () => {
4441 ) . toBeVisible ( ) ;
4542
4643 //Create another flag with same name
47- await page . getByRole ( 'button' , { name : 'Add Flag' } ) . click ( ) ;
48- await page . getByRole ( 'textbox' ) . last ( ) . fill ( 'test' ) ;
44+ await AddNewFlagAndFill ( page , 'test' ) ;
4945 expect ( page . getByText ( ERROR_FLAG_EXISTS ) ) . toBeVisible ( ) ;
5046 expect ( page . getByRole ( 'button' , { name : 'Save' } ) ) . toBeDisabled ( ) ;
5147
5248 //update flag name to be unique and check text validation.
53- await page . getByRole ( 'textbox' ) . last ( ) . fill ( 'test 2' ) ;
49+ await AddNewFlag ( page , 'test 2' ) ;
5450 expect ( page . getByText ( ERROR_FLAG_INVALID ) ) . toBeVisible ( ) ;
5551 expect ( page . getByRole ( 'button' , { name : 'Save' } ) ) . toBeDisabled ( ) ;
5652
@@ -60,6 +56,7 @@ test.describe('Feature flags', () => {
6056 . last ( )
6157 . getByLabel ( 'Delete Flag' )
6258 . click ( ) ;
59+ // await deleteLastFlag(page);
6360 await page . getByRole ( 'button' , { name : 'Yes' } ) . click ( ) ;
6461 //Confirm delete success
6562 expect (
@@ -91,11 +88,6 @@ test.describe('Feature flags', () => {
9188 await page . locator ( 'button[aria-label="Close"]' ) . click ( ) ;
9289
9390 //Delete the created flag
94- await page
95- . locator ( 'id=mr-feature-flag-item' )
96- . last ( )
97- . getByLabel ( 'Delete Flag' )
98- . click ( ) ;
99- await page . getByRole ( 'button' , { name : 'Yes' } ) . click ( ) ;
91+ await deleteLastFlag ( page ) ;
10092 } ) ;
10193} ) ;
0 commit comments