@wordpress/e2e-tests 3.0.7 → 3.0.10-next.a55ed9455a.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/config/setup-performance-test.js +1 -1
- package/config/setup-test-framework.js +1 -1
- package/package.json +7 -7
- package/specs/editor/blocks/__snapshots__/heading.test.js.snap +8 -8
- package/specs/editor/blocks/__snapshots__/navigation.test.js.snap +16 -16
- package/specs/editor/blocks/__snapshots__/quote.test.js.snap +10 -10
- package/specs/editor/blocks/classic.test.js +2 -2
- package/specs/editor/blocks/cover.test.js +17 -17
- package/specs/editor/blocks/image.test.js +4 -3
- package/specs/editor/blocks/list.test.js +1 -1
- package/specs/editor/blocks/navigation.test.js +392 -65
- package/specs/editor/blocks/table.test.js +1 -1
- package/specs/editor/plugins/align-hook.test.js +10 -10
- package/specs/editor/plugins/block-context.test.js +1 -1
- package/specs/editor/plugins/block-directory-add.test.js +14 -14
- package/specs/editor/plugins/custom-post-types.test.js +1 -1
- package/specs/editor/plugins/custom-taxonomies.test.js +3 -3
- package/specs/editor/plugins/meta-attribute-block.test.js +1 -1
- package/specs/editor/plugins/meta-boxes.test.js +3 -3
- package/specs/editor/plugins/templates.test.js +1 -1
- package/specs/editor/plugins/wp-editor-meta-box.test.js +1 -1
- package/specs/editor/various/__snapshots__/block-grouping.test.js.snap +4 -4
- package/specs/editor/various/__snapshots__/inserting-blocks.test.js.snap +2 -2
- package/specs/editor/various/__snapshots__/keep-styles-on-block-transforms.test.js.snap +3 -3
- package/specs/editor/various/autosave.test.js +19 -19
- package/specs/editor/various/block-deletion.test.js +5 -5
- package/specs/editor/various/block-grouping.test.js +29 -12
- package/specs/editor/various/block-hierarchy-navigation.test.js +5 -5
- package/specs/editor/various/change-detection.test.js +3 -3
- package/specs/editor/various/compatibility-classic-editor.test.js +1 -1
- package/specs/editor/various/copy-cut-paste-whole-blocks.test.js +7 -7
- package/specs/editor/various/datepicker.test.js +1 -1
- package/specs/editor/various/duplicating-blocks.test.js +3 -3
- package/specs/editor/various/editor-modes.test.js +5 -5
- package/specs/editor/various/inserting-blocks.test.js +6 -6
- package/specs/editor/various/invalid-block.test.js +4 -4
- package/specs/editor/various/is-typing.test.js +8 -8
- package/specs/editor/various/keyboard-navigable-blocks.test.js +2 -2
- package/specs/editor/various/links.test.js +90 -90
- package/specs/editor/various/list-view.test.js +142 -1
- package/specs/editor/various/manage-reusable-blocks.test.js +5 -5
- package/specs/editor/various/multi-block-selection.test.js +86 -2
- package/specs/editor/various/navigable-toolbar.test.js +1 -1
- package/specs/editor/various/new-post-default-content.test.js +2 -2
- package/specs/editor/various/new-post.test.js +1 -1
- package/specs/editor/various/nux.test.js +11 -11
- package/specs/editor/various/popovers.test.js +3 -3
- package/specs/editor/various/post-editor-template-mode.test.js +189 -11
- package/specs/editor/various/post-visibility.test.js +1 -1
- package/specs/editor/various/preferences.test.js +1 -1
- package/specs/editor/various/preview.test.js +8 -4
- package/specs/editor/various/publish-button.test.js +2 -2
- package/specs/editor/various/publishing.test.js +50 -1
- package/specs/editor/various/reusable-blocks.test.js +31 -31
- package/specs/editor/various/rich-text.test.js +1 -1
- package/specs/editor/various/splitting-merging.test.js +6 -6
- package/specs/editor/various/style-variation.test.js +2 -2
- package/specs/editor/various/switch-to-draft.test.js +256 -0
- package/specs/editor/various/taxonomies.test.js +1 -1
- package/specs/editor/various/toolbar-roving-tabindex.test.js +1 -1
- package/specs/editor/various/writing-flow.test.js +85 -20
- package/specs/experiments/navigation-editor.test.js +168 -3
- package/specs/performance/post-editor.test.js +7 -7
- package/specs/performance/site-editor.test.js +6 -7
- package/specs/site-editor/document-settings.test.js +8 -8
- package/specs/site-editor/multi-entity-editing.test.js +6 -6
- package/specs/site-editor/multi-entity-saving.test.js +5 -4
- package/specs/site-editor/settings-sidebar.test.js +5 -5
- package/specs/site-editor/site-editor-export.test.js +3 -3
- package/specs/site-editor/site-editor-inserter.test.js +3 -3
- package/specs/site-editor/template-part.test.js +27 -26
- package/specs/site-editor/template-revert.test.js +12 -22
- package/specs/widgets/customizing-widgets.test.js +14 -9
- package/specs/widgets/editing-widgets.test.js +8 -7
@@ -2,7 +2,7 @@
|
|
2
2
|
* WordPress dependencies
|
3
3
|
*/
|
4
4
|
import {
|
5
|
-
|
5
|
+
deleteAllTemplates,
|
6
6
|
activateTheme,
|
7
7
|
visitSiteEditor,
|
8
8
|
} from '@wordpress/e2e-test-utils';
|
@@ -10,8 +10,8 @@ import {
|
|
10
10
|
describe( 'Site Editor Inserter', () => {
|
11
11
|
beforeAll( async () => {
|
12
12
|
await activateTheme( 'emptytheme' );
|
13
|
-
await
|
14
|
-
await
|
13
|
+
await deleteAllTemplates( 'wp_template' );
|
14
|
+
await deleteAllTemplates( 'wp_template_part' );
|
15
15
|
} );
|
16
16
|
afterAll( async () => {
|
17
17
|
await activateTheme( 'twentytwentyone' );
|
@@ -3,7 +3,7 @@
|
|
3
3
|
*/
|
4
4
|
import {
|
5
5
|
insertBlock,
|
6
|
-
|
6
|
+
deleteAllTemplates,
|
7
7
|
activateTheme,
|
8
8
|
getAllBlocks,
|
9
9
|
selectBlockByClientId,
|
@@ -18,12 +18,12 @@ const templatePartNameInput =
|
|
18
18
|
describe( 'Template Part', () => {
|
19
19
|
beforeAll( async () => {
|
20
20
|
await activateTheme( 'emptytheme' );
|
21
|
-
await
|
22
|
-
await
|
21
|
+
await deleteAllTemplates( 'wp_template' );
|
22
|
+
await deleteAllTemplates( 'wp_template_part' );
|
23
23
|
} );
|
24
24
|
afterAll( async () => {
|
25
|
-
await
|
26
|
-
await
|
25
|
+
await deleteAllTemplates( 'wp_template' );
|
26
|
+
await deleteAllTemplates( 'wp_template_part' );
|
27
27
|
await activateTheme( 'twentytwentyone' );
|
28
28
|
} );
|
29
29
|
|
@@ -138,23 +138,23 @@ describe( 'Template Part', () => {
|
|
138
138
|
await insertBlock( 'Paragraph' );
|
139
139
|
await page.keyboard.type( 'Header Template Part 789' );
|
140
140
|
|
141
|
-
// Select the paragraph block
|
141
|
+
// Select the paragraph block.
|
142
142
|
const text = await canvas().waitForXPath(
|
143
143
|
'//p[contains(text(), "Header Template Part 789")]'
|
144
144
|
);
|
145
145
|
|
146
|
-
// Highlight all the text in the paragraph block
|
146
|
+
// Highlight all the text in the paragraph block.
|
147
147
|
await text.click( { clickCount: 3 } );
|
148
148
|
|
149
|
-
// Click the convert to link toolbar button
|
149
|
+
// Click the convert to link toolbar button.
|
150
150
|
await page.waitForSelector( 'button[aria-label="Link"]' );
|
151
151
|
await page.click( 'button[aria-label="Link"]' );
|
152
152
|
|
153
|
-
// Enter url for link
|
153
|
+
// Enter url for link.
|
154
154
|
await page.keyboard.type( 'https://google.com' );
|
155
155
|
await page.keyboard.press( 'Enter' );
|
156
156
|
|
157
|
-
// Verify that there is no error
|
157
|
+
// Verify that there is no error.
|
158
158
|
await canvas().click( 'p[data-type="core/paragraph"] a' );
|
159
159
|
const expectedContent = await canvas().$x(
|
160
160
|
'//p[contains(text(), "Header Template Part 789")]'
|
@@ -184,7 +184,7 @@ describe( 'Template Part', () => {
|
|
184
184
|
await page.keyboard.type( 'My template part' );
|
185
185
|
await page.keyboard.press( 'Enter' );
|
186
186
|
|
187
|
-
// Wait for creation to finish
|
187
|
+
// Wait for creation to finish.
|
188
188
|
await page.waitForXPath(
|
189
189
|
'//*[contains(@class, "components-snackbar")]/*[text()="Template part created."]'
|
190
190
|
);
|
@@ -233,7 +233,7 @@ describe( 'Template Part', () => {
|
|
233
233
|
await page.keyboard.type( 'My multi template part' );
|
234
234
|
await page.keyboard.press( 'Enter' );
|
235
235
|
|
236
|
-
// Wait for creation to finish
|
236
|
+
// Wait for creation to finish.
|
237
237
|
await page.waitForXPath(
|
238
238
|
'//*[contains(@class, "components-snackbar")]/*[text()="Template part created."]'
|
239
239
|
);
|
@@ -250,20 +250,21 @@ describe( 'Template Part', () => {
|
|
250
250
|
finalTemplateParts.length - initialTemplateParts.length
|
251
251
|
).toBe( 1 );
|
252
252
|
} );
|
253
|
+
|
253
254
|
describe( 'Template part placeholder', () => {
|
254
255
|
// Test constants for template part.
|
255
256
|
const testContent = 'some words...';
|
256
257
|
|
257
|
-
// Selectors
|
258
|
+
// Selectors.
|
258
259
|
const entitiesSaveSelector =
|
259
260
|
'.editor-entities-saved-states__save-button';
|
260
261
|
const savePostSelector = '.edit-site-save-button__button';
|
261
262
|
const templatePartSelector = '*[data-type="core/template-part"]';
|
262
263
|
const activatedTemplatePartSelector = `${ templatePartSelector }.block-editor-block-list__layout`;
|
263
|
-
const
|
264
|
-
'//button[contains(text(), "
|
264
|
+
const startBlockButtonSelector =
|
265
|
+
'//button[contains(text(), "Start blank")]';
|
265
266
|
const chooseExistingButtonSelector =
|
266
|
-
'//button[contains(text(), "Choose
|
267
|
+
'//button[contains(text(), "Choose")]';
|
267
268
|
const confirmTitleButtonSelector =
|
268
269
|
'.wp-block-template-part__placeholder-create-new__title-form .components-button.is-primary';
|
269
270
|
|
@@ -273,13 +274,10 @@ describe( 'Template Part', () => {
|
|
273
274
|
|
274
275
|
// Create new template part.
|
275
276
|
await insertBlock( 'Template Part' );
|
276
|
-
await siteEditorCanvas.waitForXPath(
|
277
|
-
|
278
|
-
);
|
279
|
-
const [ createNewButton ] = await siteEditorCanvas.$x(
|
280
|
-
createNewButtonSelector
|
277
|
+
const startBlankButton = await siteEditorCanvas.waitForXPath(
|
278
|
+
startBlockButtonSelector
|
281
279
|
);
|
282
|
-
await
|
280
|
+
await startBlankButton.click();
|
283
281
|
const confirmTitleButton = await page.waitForSelector(
|
284
282
|
confirmTitleButtonSelector
|
285
283
|
);
|
@@ -318,13 +316,16 @@ describe( 'Template Part', () => {
|
|
318
316
|
chooseExistingButtonSelector
|
319
317
|
);
|
320
318
|
await chooseExistingButton.click();
|
321
|
-
await page.waitForSelector(
|
322
|
-
'.wp-block-template-part__selection-preview-container'
|
323
|
-
);
|
324
319
|
const preview = await page.waitForSelector(
|
325
|
-
'.
|
320
|
+
'.block-editor-block-patterns-list__item'
|
326
321
|
);
|
327
322
|
await preview.click();
|
323
|
+
|
324
|
+
// Wait for the template parts to load properly.
|
325
|
+
await siteEditorCanvas.waitForSelector(
|
326
|
+
'[data-type="core/template-part"] > p:first-child'
|
327
|
+
);
|
328
|
+
|
328
329
|
// We now have the same template part two times in the page, so check accordingly.
|
329
330
|
const paragraphs = await siteEditorCanvas.$$eval(
|
330
331
|
'[data-type="core/template-part"] > p:first-child',
|
@@ -3,15 +3,11 @@
|
|
3
3
|
*/
|
4
4
|
import {
|
5
5
|
insertBlock,
|
6
|
-
trashAllPosts,
|
7
6
|
activateTheme,
|
8
|
-
|
9
|
-
switchUserToTest,
|
10
|
-
visitAdminPage,
|
7
|
+
deleteAllTemplates,
|
11
8
|
visitSiteEditor,
|
12
9
|
getCurrentSiteEditorContent,
|
13
10
|
} from '@wordpress/e2e-test-utils';
|
14
|
-
import { addQueryArgs } from '@wordpress/url';
|
15
11
|
|
16
12
|
const assertSaveButtonIsDisabled = async () =>
|
17
13
|
page.waitForSelector(
|
@@ -71,30 +67,19 @@ const revertTemplate = async () => {
|
|
71
67
|
await assertSaveButtonIsEnabled();
|
72
68
|
};
|
73
69
|
|
74
|
-
const assertTemplatesAreDeleted = async () => {
|
75
|
-
await switchUserToAdmin();
|
76
|
-
const query = addQueryArgs( '', {
|
77
|
-
post_type: 'wp_template',
|
78
|
-
} ).slice( 1 );
|
79
|
-
await visitAdminPage( 'edit.php', query );
|
80
|
-
const element = await page.waitForSelector( '#the-list .no-items' );
|
81
|
-
expect( element ).toBeTruthy();
|
82
|
-
await switchUserToTest();
|
83
|
-
};
|
84
|
-
|
85
70
|
describe( 'Template Revert', () => {
|
86
71
|
beforeAll( async () => {
|
87
72
|
await activateTheme( 'emptytheme' );
|
88
|
-
await
|
89
|
-
await
|
73
|
+
await deleteAllTemplates( 'wp_template' );
|
74
|
+
await deleteAllTemplates( 'wp_template_part' );
|
90
75
|
} );
|
91
76
|
afterAll( async () => {
|
92
|
-
await
|
93
|
-
await
|
77
|
+
await deleteAllTemplates( 'wp_template' );
|
78
|
+
await deleteAllTemplates( 'wp_template_part' );
|
94
79
|
await activateTheme( 'twentytwentyone' );
|
95
80
|
} );
|
96
81
|
beforeEach( async () => {
|
97
|
-
await
|
82
|
+
await deleteAllTemplates( 'wp_template' );
|
98
83
|
await visitSiteEditor();
|
99
84
|
} );
|
100
85
|
|
@@ -104,7 +89,12 @@ describe( 'Template Revert', () => {
|
|
104
89
|
await revertTemplate();
|
105
90
|
await save();
|
106
91
|
|
107
|
-
await
|
92
|
+
await page.click( '.edit-site-document-actions__get-info' );
|
93
|
+
|
94
|
+
// The revert button isn't visible anymore.
|
95
|
+
expect(
|
96
|
+
await page.$( '.edit-site-template-details__revert-button' )
|
97
|
+
).toBeNull();
|
108
98
|
} );
|
109
99
|
|
110
100
|
it( 'should show the original content after revert', async () => {
|
@@ -25,16 +25,17 @@ describe( 'Widgets Customizer', () => {
|
|
25
25
|
await visitAdminPage( 'customize.php' );
|
26
26
|
|
27
27
|
// Disable welcome guide if it is enabled.
|
28
|
-
const isWelcomeGuideActive = await page.evaluate(
|
29
|
-
|
30
|
-
.
|
31
|
-
|
28
|
+
const isWelcomeGuideActive = await page.evaluate(
|
29
|
+
() =>
|
30
|
+
!! wp.data
|
31
|
+
.select( 'core/preferences' )
|
32
|
+
.get( 'core/customize-widgets', 'welcomeGuide' )
|
32
33
|
);
|
33
34
|
if ( isWelcomeGuideActive ) {
|
34
35
|
await page.evaluate( () =>
|
35
36
|
wp.data
|
36
|
-
.dispatch( 'core/
|
37
|
-
.
|
37
|
+
.dispatch( 'core/preferences' )
|
38
|
+
.toggle( 'core/customize-widgets', 'welcomeGuide' )
|
38
39
|
);
|
39
40
|
}
|
40
41
|
} );
|
@@ -784,7 +785,7 @@ describe( 'Widgets Customizer', () => {
|
|
784
785
|
|
785
786
|
await waitForPreviewIframe();
|
786
787
|
|
787
|
-
// Click Publish
|
788
|
+
// Click Publish.
|
788
789
|
const publishButton = await find( {
|
789
790
|
role: 'button',
|
790
791
|
name: 'Publish',
|
@@ -797,7 +798,7 @@ describe( 'Widgets Customizer', () => {
|
|
797
798
|
disabled: true,
|
798
799
|
} );
|
799
800
|
|
800
|
-
// Select the paragraph block
|
801
|
+
// Select the paragraph block.
|
801
802
|
const paragraphBlock = await find( {
|
802
803
|
role: 'document',
|
803
804
|
name: 'Paragraph block',
|
@@ -824,7 +825,7 @@ describe( 'Widgets Customizer', () => {
|
|
824
825
|
|
825
826
|
// Now that we've made a change:
|
826
827
|
// (1) Publish button should be active
|
827
|
-
// (2) We should still be in the "Block Settings" area
|
828
|
+
// (2) We should still be in the "Block Settings" area.
|
828
829
|
await find( {
|
829
830
|
role: 'button',
|
830
831
|
name: 'Publish',
|
@@ -880,6 +881,10 @@ async function addBlock( blockName ) {
|
|
880
881
|
}
|
881
882
|
} );
|
882
883
|
|
884
|
+
// Click something so that the block toolbar, which sometimes obscures
|
885
|
+
// buttons in the inserter, goes away.
|
886
|
+
await searchBox.click();
|
887
|
+
|
883
888
|
await searchBox.type( blockName );
|
884
889
|
|
885
890
|
// TODO - remove this timeout when the test plugin for disabling CSS
|
@@ -31,16 +31,17 @@ describe( 'Widgets screen', () => {
|
|
31
31
|
await visitWidgetsScreen();
|
32
32
|
|
33
33
|
// Disable welcome guide if it is enabled.
|
34
|
-
const isWelcomeGuideActive = await page.evaluate(
|
35
|
-
|
36
|
-
.
|
37
|
-
|
34
|
+
const isWelcomeGuideActive = await page.evaluate(
|
35
|
+
() =>
|
36
|
+
!! wp.data
|
37
|
+
.select( 'core/preferences' )
|
38
|
+
.get( 'core/edit-widgets', 'welcomeGuide' )
|
38
39
|
);
|
39
40
|
if ( isWelcomeGuideActive ) {
|
40
41
|
await page.evaluate( () =>
|
41
42
|
wp.data
|
42
|
-
.dispatch( 'core/
|
43
|
-
.
|
43
|
+
.dispatch( 'core/preferences' )
|
44
|
+
.toggle( 'core/edit-widgets', 'welcomeGuide' )
|
44
45
|
);
|
45
46
|
}
|
46
47
|
|
@@ -811,7 +812,7 @@ describe( 'Widgets screen', () => {
|
|
811
812
|
// To do: clicking on the Snackbar causes focus loss.
|
812
813
|
await page.focus( '.block-editor-writing-flow' );
|
813
814
|
|
814
|
-
// Undo block deletion and save again
|
815
|
+
// Undo block deletion and save again.
|
815
816
|
await pressKeyWithModifier( 'primary', 'z' );
|
816
817
|
await saveWidgets();
|
817
818
|
|