11import { test , expect } from 'e2e/test-utils'
2- import { createColor , getRgb } from '~stackable/plugins/global-settings/colors/util'
32
43test . describe ( 'Global Settings' , ( ) => {
54 let pid = null
@@ -62,7 +61,15 @@ test.describe( 'Global Settings', () => {
6261
6362 // Delete added Global Color
6463 await page . getByLabel ( 'Stackable Settings' ) . click ( )
65- await panel . locator ( `.ugb-global-settings-color-picker__color-indicators > div > div:nth-child(${ count } ) > button.stk-global-settings-color-picker__delete-button` ) . click ( )
64+
65+ page . on ( 'dialog' , async dialog => await dialog . accept ( ) )
66+ const deleteRequest = page . waitForResponse ( response => response . url ( ) . includes ( 'wp/v2/settings' ) && response . request ( ) . method ( ) === 'POST' )
67+
68+ await globalColors . getByLabel ( 'Delete' ) . nth ( count - 1 ) . click ( )
69+
70+ await deleteRequest
71+ const _count = ( await globalColors . evaluate ( node => Array . from ( node . childNodes ) ) ) . length
72+ expect ( _count ) . toBeLessThan ( count )
6673 } )
6774
6875 test ( 'Global Typography Styles should be applied when adding a heading' , async ( {
@@ -93,18 +100,21 @@ test.describe( 'Global Settings', () => {
93100
94101 await expect ( editor . canvas . locator ( '[data-type="stackable/heading"] > .stk-block-heading > h2[role="textbox"]' ) ) . toHaveCSS ( 'font-size' , '32px' )
95102
96- // Reset Global Typography Styles
97- await page . getByLabel ( 'Stackable Settings' ) . click ( )
98- await page . locator ( '.ugb-global-settings-typography-control' ) . nth ( 1 ) . getByRole ( 'button' , { name : 'Reset' } ) . click ( )
103+ // Reset Global Typography Styles
104+ await page . getByLabel ( 'Stackable Settings' ) . click ( )
105+
106+ const resetButton = page . locator ( '.ugb-global-settings-typography-control' ) . nth ( 1 ) . getByLabel ( 'Reset' )
107+ const deleteRequest = page . waitForResponse ( response => response . url ( ) . includes ( 'wp/v2/settings' ) && response . request ( ) . method ( ) === 'POST' )
108+ await resetButton . click ( )
109+
110+ await deleteRequest
111+ await expect ( resetButton ) . not . toBeVisible ( )
99112 } )
100113
101114 test ( 'When a default block is created, adding the block should have the default block\'s attributes' , async ( {
102115 page,
103116 editor,
104117 } ) => {
105- // Generate a color
106- const color = createColor ( )
107-
108118 await page . getByLabel ( 'Stackable Settings' ) . click ( )
109119 await page . getByRole ( 'button' , { name : 'Block Defaults' } ) . click ( )
110120
@@ -116,21 +126,20 @@ test.describe( 'Global Settings', () => {
116126
117127 // Set a color for the default Text Block
118128 await defaultBlockPage . locator ( '.stk-color-palette-control .stk-control-content > .components-dropdown > .components-button' ) . first ( ) . click ( )
119- await defaultBlockPage . getByLabel ( 'Hex color' ) . fill ( color . slice ( 1 ) )
129+ await defaultBlockPage . getByLabel ( 'Hex color' ) . fill ( 'ff0000' )
120130 await defaultBlockPage . locator ( '.stk-color-palette-control .stk-control-content > .components-dropdown > .components-button' ) . first ( ) . click ( )
121131
122- const saveBlock = defaultBlockPage . waitForResponse ( response =>
123- response . url ( ) . includes ( 'update_block_style' ) && response . request ( ) . method ( ) === 'POST' )
124-
125132 // In older WP versions, the button text is 'Update' instead of 'Save'
126133 if ( await defaultBlockPage . getByRole ( 'button' , { name : 'Save' , exact : true } ) . isVisible ( ) ) {
127134 await defaultBlockPage . getByRole ( 'button' , { name : 'Save' , exact : true } ) . click ( )
135+ await expect ( defaultBlockPage . getByRole ( 'button' , { name : 'Saving' } ) ) . toBeVisible ( )
136+ await expect ( defaultBlockPage . getByRole ( 'button' , { name : 'Save' , exact : true } ) ) . toBeVisible ( )
128137 } else {
129138 await defaultBlockPage . getByRole ( 'button' , { name : 'Update' } ) . click ( )
139+ await expect ( defaultBlockPage . getByRole ( 'button' , { name : 'Updating' } ) ) . toBeVisible ( )
140+ await expect ( defaultBlockPage . getByRole ( 'button' , { name : 'Update' } ) ) . toBeVisible ( )
130141 }
131142
132- // Ensure block is saved before closing the Default Block Editor
133- await saveBlock
134143 await defaultBlockPage . close ( )
135144
136145 // Insert a Stackable Text Block, and check if the color is the same as the one set in the default block
@@ -142,12 +151,11 @@ test.describe( 'Global Settings', () => {
142151 } ,
143152 } )
144153
145- await expect ( editor . canvas . locator ( '[data-type="stackable/text"] > .stk-block-text > p[role="textbox"]' ) ) . toHaveCSS ( 'color' , ` rgb(${ getRgb ( color ) } )` )
154+ await expect ( editor . canvas . locator ( '[data-type="stackable/text"] > .stk-block-text > p[role="textbox"]' ) ) . toHaveCSS ( 'color' , ' rgb(255, 0, 0)' )
146155
147156 // Reset Default Block
148157 await page . getByLabel ( 'Stackable Settings' ) . click ( )
149158 await page . getByRole ( 'button' , { name : 'Block Defaults' } ) . click ( )
150159 await page . locator ( '.components-panel__body' , { hasText : 'Block Defaults' } ) . locator ( '.stk-block-default-control' , { hasText : / ^ T e x t $ / } ) . first ( ) . getByLabel ( 'Reset' ) . click ( )
151160 } )
152161} )
153-
0 commit comments