11import { test , expect } from 'e2e/test-utils'
2- import { createColor , getRgb } from '~stackable/plugins/global-settings/colors/util'
32
4- test . describe ( 'Global Settigs ' , ( ) => {
3+ test . describe ( 'Global Settings ' , ( ) => {
54 let pid = null
65
76 // Create Posts for testing
@@ -62,7 +61,15 @@ test.describe( 'Global Settigs', () => {
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 Settigs', () => {
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,16 +126,20 @@ test.describe( 'Global Settigs', () => {
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 )
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
132+ const updateRequest = defaultBlockPage . waitForResponse ( response => response . url ( ) . includes ( 'update_block_style' ) && response . request ( ) . method ( ) === 'POST' )
133+
122134 // In older WP versions, the button text is 'Update' instead of 'Save'
123135 if ( await defaultBlockPage . getByRole ( 'button' , { name : 'Save' , exact : true } ) . isVisible ( ) ) {
124136 await defaultBlockPage . getByRole ( 'button' , { name : 'Save' , exact : true } ) . click ( )
125137 } else {
126138 await defaultBlockPage . getByRole ( 'button' , { name : 'Update' } ) . click ( )
127139 }
128140
141+ // Make sure default block has been updated before closing the tab
142+ await updateRequest
129143 await defaultBlockPage . close ( )
130144
131145 // Insert a Stackable Text Block, and check if the color is the same as the one set in the default block
@@ -137,12 +151,11 @@ test.describe( 'Global Settigs', () => {
137151 } ,
138152 } )
139153
140- 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)' )
141155
142156 // Reset Default Block
143157 await page . getByLabel ( 'Stackable Settings' ) . click ( )
144158 await page . getByRole ( 'button' , { name : 'Block Defaults' } ) . click ( )
145159 await page . locator ( '.components-panel__body' , { hasText : 'Block Defaults' } ) . locator ( '.stk-block-default-control' , { hasText : / ^ T e x t $ / } ) . first ( ) . getByLabel ( 'Reset' ) . click ( )
146160 } )
147161} )
148-
0 commit comments