-
Notifications
You must be signed in to change notification settings - Fork 4.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add tests coverage for the navigation block frontend interactivity #50462
Conversation
Size Change: 0 B Total Size: 1.38 MB ℹ️ View Unchanged
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I left some comments to improve the test architecture. Overall it's looking great and should be a good first step towards improved reliability for the Navigation block that will catch potential regressions.
attributes: { overlayMenu: 'always' }, | ||
} ); | ||
await editor.saveSiteEditorEntities(); | ||
await page.goto( '/' ); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We could inline that part in every test so the reader can see where the verification happens.
); | ||
const openMenuButton = page.locator( '[aria-label="Open menu"]' ); | ||
await expect( overlayMenu ).toBeHidden(); | ||
await openMenuButton.click(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here we could test using keyboard navigation only.
Flaky tests detected in cd8ee0e. 🔍 Workflow run URL: https://github.com/WordPress/gutenberg/actions/runs/4925515059
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the PR! I noticed there are lots of added short e2e tests. Maybe in some cases we can consider follow the best practice and group them into longer tests to speed up the process.
'role=region[name="Editor top bar"i] >> role=button[name="Saved"i][disabled]' | ||
); | ||
// A role selector cannot be used here because it needs to check that the `is-busy` class is not present. | ||
await this.page.waitForSelector( '[aria-label="Saved"].is-busy', { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you elaborate a bit more on why the is-busy
class is needed here? Is disabled
or aria-disabled
not sufficient for checking if it's saving? Judging from the code at:
const disabled = isSaving || ! activateSaveEnabled; |
, it seems like they should be updated at the same time. 🤔
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What it is trying to check is when it has finished saving. It needs to wait for that before navigating to the homepage. From what I saw, there are three different states:
- Not saved:
disabled
is false. - Saving:
disabled
is true and label is "Saved". - Saved:
disabled
is still true and label is also "Saved". You can't interact with the button until you modify the content again.
I didn't find another way to differentiate between Saving/Saved without using the class.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems like a bug in the site editor to me? Why does it show "Saved" when it's not actually saved?
} ) => { | ||
await page.goto( '/' ); | ||
const overlayMenu = page.locator( | ||
'nav.wp-block-navigation div.has-modal-open' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any reason why we're not using role selectors here (and throughout the file below)? If it's because the element isn't accessible yet, we should probably add comments above so that people don't blindly copy-paste them 😅 .
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Where can you find out more details about using role selectors?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was just changing them, sorry. I just pushed a commit changing all the locator
for getByRole
. Thanks for the advice 🙂
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Where can you find out more details about using role selectors?
There's a section about using accessible selectors in the best practices guideline. The official doc is also great for finding out more details! :)
I was just changing them, sorry.
No worries! Thanks! ❤️
Size Change: 0 B Total Size: 1.38 MB ℹ️ View Unchanged
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Size Change: 0 B
Total Size: 1.38 MB
ℹ️ View Unchanged
Filename | Size |
---|---|
build/a11y/index.min.js |
993 B |
build/annotations/index.min.js |
2.78 kB |
build/api-fetch/index.min.js |
2.33 kB |
build/autop/index.min.js |
2.15 kB |
build/blob/index.min.js |
483 B |
build/block-directory/index.min.js |
7.2 kB |
build/block-directory/style-rtl.css |
1.05 kB |
build/block-directory/style.css |
1.05 kB |
build/block-editor/content-rtl.css |
4.17 kB |
build/block-editor/content.css |
4.16 kB |
build/block-editor/default-editor-styles-rtl.css |
403 B |
build/block-editor/default-editor-styles.css |
403 B |
build/block-editor/index.min.js |
202 kB |
build/block-editor/style-rtl.css |
15.3 kB |
build/block-editor/style.css |
15.3 kB |
build/block-library/blocks/archives/editor-rtl.css |
61 B |
build/block-library/blocks/archives/editor.css |
60 B |
build/block-library/blocks/archives/style-rtl.css |
90 B |
build/block-library/blocks/archives/style.css |
90 B |
build/block-library/blocks/audio/editor-rtl.css |
150 B |
build/block-library/blocks/audio/editor.css |
150 B |
build/block-library/blocks/audio/style-rtl.css |
122 B |
build/block-library/blocks/audio/style.css |
122 B |
build/block-library/blocks/audio/theme-rtl.css |
138 B |
build/block-library/blocks/audio/theme.css |
138 B |
build/block-library/blocks/avatar/editor-rtl.css |
116 B |
build/block-library/blocks/avatar/editor.css |
116 B |
build/block-library/blocks/avatar/style-rtl.css |
91 B |
build/block-library/blocks/avatar/style.css |
91 B |
build/block-library/blocks/block/editor-rtl.css |
305 B |
build/block-library/blocks/block/editor.css |
305 B |
build/block-library/blocks/button/editor-rtl.css |
587 B |
build/block-library/blocks/button/editor.css |
587 B |
build/block-library/blocks/button/style-rtl.css |
628 B |
build/block-library/blocks/button/style.css |
627 B |
build/block-library/blocks/buttons/editor-rtl.css |
337 B |
build/block-library/blocks/buttons/editor.css |
337 B |
build/block-library/blocks/buttons/style-rtl.css |
332 B |
build/block-library/blocks/buttons/style.css |
332 B |
build/block-library/blocks/calendar/style-rtl.css |
239 B |
build/block-library/blocks/calendar/style.css |
239 B |
build/block-library/blocks/categories/editor-rtl.css |
113 B |
build/block-library/blocks/categories/editor.css |
112 B |
build/block-library/blocks/categories/style-rtl.css |
124 B |
build/block-library/blocks/categories/style.css |
124 B |
build/block-library/blocks/code/editor-rtl.css |
53 B |
build/block-library/blocks/code/editor.css |
53 B |
build/block-library/blocks/code/style-rtl.css |
121 B |
build/block-library/blocks/code/style.css |
121 B |
build/block-library/blocks/code/theme-rtl.css |
124 B |
build/block-library/blocks/code/theme.css |
124 B |
build/block-library/blocks/columns/editor-rtl.css |
108 B |
build/block-library/blocks/columns/editor.css |
108 B |
build/block-library/blocks/columns/style-rtl.css |
409 B |
build/block-library/blocks/columns/style.css |
409 B |
build/block-library/blocks/comment-author-avatar/editor-rtl.css |
125 B |
build/block-library/blocks/comment-author-avatar/editor.css |
125 B |
build/block-library/blocks/comment-content/style-rtl.css |
92 B |
build/block-library/blocks/comment-content/style.css |
92 B |
build/block-library/blocks/comment-template/style-rtl.css |
199 B |
build/block-library/blocks/comment-template/style.css |
198 B |
build/block-library/blocks/comments-pagination-numbers/editor-rtl.css |
123 B |
build/block-library/blocks/comments-pagination-numbers/editor.css |
121 B |
build/block-library/blocks/comments-pagination/editor-rtl.css |
222 B |
build/block-library/blocks/comments-pagination/editor.css |
209 B |
build/block-library/blocks/comments-pagination/style-rtl.css |
235 B |
build/block-library/blocks/comments-pagination/style.css |
231 B |
build/block-library/blocks/comments-title/editor-rtl.css |
75 B |
build/block-library/blocks/comments-title/editor.css |
75 B |
build/block-library/blocks/comments/editor-rtl.css |
840 B |
build/block-library/blocks/comments/editor.css |
839 B |
build/block-library/blocks/comments/style-rtl.css |
637 B |
build/block-library/blocks/comments/style.css |
636 B |
build/block-library/blocks/cover/editor-rtl.css |
647 B |
build/block-library/blocks/cover/editor.css |
650 B |
build/block-library/blocks/cover/style-rtl.css |
1.62 kB |
build/block-library/blocks/cover/style.css |
1.61 kB |
build/block-library/blocks/details/editor-rtl.css |
65 B |
build/block-library/blocks/details/editor.css |
65 B |
build/block-library/blocks/details/style-rtl.css |
159 B |
build/block-library/blocks/details/style.css |
159 B |
build/block-library/blocks/embed/editor-rtl.css |
293 B |
build/block-library/blocks/embed/editor.css |
293 B |
build/block-library/blocks/embed/style-rtl.css |
410 B |
build/block-library/blocks/embed/style.css |
410 B |
build/block-library/blocks/embed/theme-rtl.css |
138 B |
build/block-library/blocks/embed/theme.css |
138 B |
build/block-library/blocks/file/editor-rtl.css |
300 B |
build/block-library/blocks/file/editor.css |
300 B |
build/block-library/blocks/file/style-rtl.css |
269 B |
build/block-library/blocks/file/style.css |
270 B |
build/block-library/blocks/file/view.min.js |
379 B |
build/block-library/blocks/freeform/editor-rtl.css |
2.44 kB |
build/block-library/blocks/freeform/editor.css |
2.44 kB |
build/block-library/blocks/gallery/editor-rtl.css |
957 B |
build/block-library/blocks/gallery/editor.css |
962 B |
build/block-library/blocks/gallery/style-rtl.css |
1.55 kB |
build/block-library/blocks/gallery/style.css |
1.55 kB |
build/block-library/blocks/gallery/theme-rtl.css |
122 B |
build/block-library/blocks/gallery/theme.css |
122 B |
build/block-library/blocks/group/editor-rtl.css |
654 B |
build/block-library/blocks/group/editor.css |
654 B |
build/block-library/blocks/group/style-rtl.css |
57 B |
build/block-library/blocks/group/style.css |
57 B |
build/block-library/blocks/group/theme-rtl.css |
78 B |
build/block-library/blocks/group/theme.css |
78 B |
build/block-library/blocks/heading/style-rtl.css |
76 B |
build/block-library/blocks/heading/style.css |
76 B |
build/block-library/blocks/html/editor-rtl.css |
340 B |
build/block-library/blocks/html/editor.css |
341 B |
build/block-library/blocks/image/editor-rtl.css |
834 B |
build/block-library/blocks/image/editor.css |
833 B |
build/block-library/blocks/image/style-rtl.css |
652 B |
build/block-library/blocks/image/style.css |
652 B |
build/block-library/blocks/image/theme-rtl.css |
137 B |
build/block-library/blocks/image/theme.css |
137 B |
build/block-library/blocks/latest-comments/style-rtl.css |
357 B |
build/block-library/blocks/latest-comments/style.css |
357 B |
build/block-library/blocks/latest-posts/editor-rtl.css |
213 B |
build/block-library/blocks/latest-posts/editor.css |
212 B |
build/block-library/blocks/latest-posts/style-rtl.css |
478 B |
build/block-library/blocks/latest-posts/style.css |
478 B |
build/block-library/blocks/list/style-rtl.css |
88 B |
build/block-library/blocks/list/style.css |
88 B |
build/block-library/blocks/media-text/editor-rtl.css |
266 B |
build/block-library/blocks/media-text/editor.css |
263 B |
build/block-library/blocks/media-text/style-rtl.css |
507 B |
build/block-library/blocks/media-text/style.css |
505 B |
build/block-library/blocks/more/editor-rtl.css |
431 B |
build/block-library/blocks/more/editor.css |
431 B |
build/block-library/blocks/navigation-link/editor-rtl.css |
716 B |
build/block-library/blocks/navigation-link/editor.css |
715 B |
build/block-library/blocks/navigation-link/style-rtl.css |
115 B |
build/block-library/blocks/navigation-link/style.css |
115 B |
build/block-library/blocks/navigation-submenu/editor-rtl.css |
299 B |
build/block-library/blocks/navigation-submenu/editor.css |
299 B |
build/block-library/blocks/navigation/editor-rtl.css |
2.13 kB |
build/block-library/blocks/navigation/editor.css |
2.14 kB |
build/block-library/blocks/navigation/style-rtl.css |
2.22 kB |
build/block-library/blocks/navigation/style.css |
2.21 kB |
build/block-library/blocks/navigation/view-modal.min.js |
2.81 kB |
build/block-library/blocks/navigation/view.min.js |
447 B |
build/block-library/blocks/nextpage/editor-rtl.css |
395 B |
build/block-library/blocks/nextpage/editor.css |
395 B |
build/block-library/blocks/page-list/editor-rtl.css |
401 B |
build/block-library/blocks/page-list/editor.css |
401 B |
build/block-library/blocks/page-list/style-rtl.css |
175 B |
build/block-library/blocks/page-list/style.css |
175 B |
build/block-library/blocks/paragraph/editor-rtl.css |
174 B |
build/block-library/blocks/paragraph/editor.css |
174 B |
build/block-library/blocks/paragraph/style-rtl.css |
279 B |
build/block-library/blocks/paragraph/style.css |
281 B |
build/block-library/blocks/post-author/style-rtl.css |
175 B |
build/block-library/blocks/post-author/style.css |
176 B |
build/block-library/blocks/post-comments-form/editor-rtl.css |
96 B |
build/block-library/blocks/post-comments-form/editor.css |
96 B |
build/block-library/blocks/post-comments-form/style-rtl.css |
501 B |
build/block-library/blocks/post-comments-form/style.css |
501 B |
build/block-library/blocks/post-date/style-rtl.css |
61 B |
build/block-library/blocks/post-date/style.css |
61 B |
build/block-library/blocks/post-excerpt/editor-rtl.css |
71 B |
build/block-library/blocks/post-excerpt/editor.css |
71 B |
build/block-library/blocks/post-excerpt/style-rtl.css |
141 B |
build/block-library/blocks/post-excerpt/style.css |
141 B |
build/block-library/blocks/post-featured-image/editor-rtl.css |
588 B |
build/block-library/blocks/post-featured-image/editor.css |
586 B |
build/block-library/blocks/post-featured-image/style-rtl.css |
322 B |
build/block-library/blocks/post-featured-image/style.css |
322 B |
build/block-library/blocks/post-navigation-link/style-rtl.css |
153 B |
build/block-library/blocks/post-navigation-link/style.css |
153 B |
build/block-library/blocks/post-template/editor-rtl.css |
99 B |
build/block-library/blocks/post-template/editor.css |
98 B |
build/block-library/blocks/post-template/style-rtl.css |
281 B |
build/block-library/blocks/post-template/style.css |
281 B |
build/block-library/blocks/post-terms/style-rtl.css |
96 B |
build/block-library/blocks/post-terms/style.css |
96 B |
build/block-library/blocks/post-time-to-read/style-rtl.css |
69 B |
build/block-library/blocks/post-time-to-read/style.css |
69 B |
build/block-library/blocks/post-title/style-rtl.css |
100 B |
build/block-library/blocks/post-title/style.css |
100 B |
build/block-library/blocks/preformatted/style-rtl.css |
103 B |
build/block-library/blocks/preformatted/style.css |
103 B |
build/block-library/blocks/pullquote/editor-rtl.css |
135 B |
build/block-library/blocks/pullquote/editor.css |
135 B |
build/block-library/blocks/pullquote/style-rtl.css |
335 B |
build/block-library/blocks/pullquote/style.css |
335 B |
build/block-library/blocks/pullquote/theme-rtl.css |
167 B |
build/block-library/blocks/pullquote/theme.css |
167 B |
build/block-library/blocks/query-pagination-numbers/editor-rtl.css |
122 B |
build/block-library/blocks/query-pagination-numbers/editor.css |
121 B |
build/block-library/blocks/query-pagination/editor-rtl.css |
221 B |
build/block-library/blocks/query-pagination/editor.css |
211 B |
build/block-library/blocks/query-pagination/style-rtl.css |
288 B |
build/block-library/blocks/query-pagination/style.css |
284 B |
build/block-library/blocks/query-title/style-rtl.css |
63 B |
build/block-library/blocks/query-title/style.css |
63 B |
build/block-library/blocks/query/editor-rtl.css |
450 B |
build/block-library/blocks/query/editor.css |
449 B |
build/block-library/blocks/quote/style-rtl.css |
222 B |
build/block-library/blocks/quote/style.css |
222 B |
build/block-library/blocks/quote/theme-rtl.css |
223 B |
build/block-library/blocks/quote/theme.css |
226 B |
build/block-library/blocks/read-more/style-rtl.css |
132 B |
build/block-library/blocks/read-more/style.css |
132 B |
build/block-library/blocks/rss/editor-rtl.css |
149 B |
build/block-library/blocks/rss/editor.css |
149 B |
build/block-library/blocks/rss/style-rtl.css |
289 B |
build/block-library/blocks/rss/style.css |
288 B |
build/block-library/blocks/search/editor-rtl.css |
178 B |
build/block-library/blocks/search/editor.css |
178 B |
build/block-library/blocks/search/style-rtl.css |
434 B |
build/block-library/blocks/search/style.css |
432 B |
build/block-library/blocks/search/theme-rtl.css |
114 B |
build/block-library/blocks/search/theme.css |
114 B |
build/block-library/blocks/separator/editor-rtl.css |
146 B |
build/block-library/blocks/separator/editor.css |
146 B |
build/block-library/blocks/separator/style-rtl.css |
234 B |
build/block-library/blocks/separator/style.css |
234 B |
build/block-library/blocks/separator/theme-rtl.css |
194 B |
build/block-library/blocks/separator/theme.css |
194 B |
build/block-library/blocks/shortcode/editor-rtl.css |
329 B |
build/block-library/blocks/shortcode/editor.css |
329 B |
build/block-library/blocks/site-logo/editor-rtl.css |
760 B |
build/block-library/blocks/site-logo/editor.css |
760 B |
build/block-library/blocks/site-logo/style-rtl.css |
203 B |
build/block-library/blocks/site-logo/style.css |
203 B |
build/block-library/blocks/site-tagline/editor-rtl.css |
86 B |
build/block-library/blocks/site-tagline/editor.css |
86 B |
build/block-library/blocks/site-title/editor-rtl.css |
116 B |
build/block-library/blocks/site-title/editor.css |
116 B |
build/block-library/blocks/site-title/style-rtl.css |
57 B |
build/block-library/blocks/site-title/style.css |
57 B |
build/block-library/blocks/social-link/editor-rtl.css |
184 B |
build/block-library/blocks/social-link/editor.css |
184 B |
build/block-library/blocks/social-links/editor-rtl.css |
674 B |
build/block-library/blocks/social-links/editor.css |
673 B |
build/block-library/blocks/social-links/style-rtl.css |
1.4 kB |
build/block-library/blocks/social-links/style.css |
1.39 kB |
build/block-library/blocks/spacer/editor-rtl.css |
359 B |
build/block-library/blocks/spacer/editor.css |
359 B |
build/block-library/blocks/spacer/style-rtl.css |
48 B |
build/block-library/blocks/spacer/style.css |
48 B |
build/block-library/blocks/table/editor-rtl.css |
433 B |
build/block-library/blocks/table/editor.css |
433 B |
build/block-library/blocks/table/style-rtl.css |
651 B |
build/block-library/blocks/table/style.css |
650 B |
build/block-library/blocks/table/theme-rtl.css |
157 B |
build/block-library/blocks/table/theme.css |
157 B |
build/block-library/blocks/tag-cloud/style-rtl.css |
251 B |
build/block-library/blocks/tag-cloud/style.css |
253 B |
build/block-library/blocks/template-part/editor-rtl.css |
403 B |
build/block-library/blocks/template-part/editor.css |
403 B |
build/block-library/blocks/template-part/theme-rtl.css |
101 B |
build/block-library/blocks/template-part/theme.css |
101 B |
build/block-library/blocks/text-columns/editor-rtl.css |
95 B |
build/block-library/blocks/text-columns/editor.css |
95 B |
build/block-library/blocks/text-columns/style-rtl.css |
166 B |
build/block-library/blocks/text-columns/style.css |
166 B |
build/block-library/blocks/verse/style-rtl.css |
99 B |
build/block-library/blocks/verse/style.css |
99 B |
build/block-library/blocks/video/editor-rtl.css |
552 B |
build/block-library/blocks/video/editor.css |
555 B |
build/block-library/blocks/video/style-rtl.css |
179 B |
build/block-library/blocks/video/style.css |
179 B |
build/block-library/blocks/video/theme-rtl.css |
139 B |
build/block-library/blocks/video/theme.css |
139 B |
build/block-library/classic-rtl.css |
179 B |
build/block-library/classic.css |
179 B |
build/block-library/common-rtl.css |
1.12 kB |
build/block-library/common.css |
1.12 kB |
build/block-library/editor-elements-rtl.css |
75 B |
build/block-library/editor-elements.css |
75 B |
build/block-library/editor-rtl.css |
11.8 kB |
build/block-library/editor.css |
11.8 kB |
build/block-library/elements-rtl.css |
54 B |
build/block-library/elements.css |
54 B |
build/block-library/index.min.js |
204 kB |
build/block-library/reset-rtl.css |
478 B |
build/block-library/reset.css |
478 B |
build/block-library/style-rtl.css |
12.8 kB |
build/block-library/style.css |
12.8 kB |
build/block-library/theme-rtl.css |
698 B |
build/block-library/theme.css |
703 B |
build/block-serialization-default-parser/index.min.js |
1.13 kB |
build/block-serialization-spec-parser/index.min.js |
2.83 kB |
build/blocks/index.min.js |
51.1 kB |
build/commands/index.min.js |
15 kB |
build/commands/style-rtl.css |
807 B |
build/commands/style.css |
804 B |
build/components/index.min.js |
210 kB |
build/components/style-rtl.css |
11.8 kB |
build/components/style.css |
11.8 kB |
build/compose/index.min.js |
12.4 kB |
build/core-commands/index.min.js |
1.84 kB |
build/core-data/index.min.js |
16.7 kB |
build/customize-widgets/index.min.js |
12.2 kB |
build/customize-widgets/style-rtl.css |
1.41 kB |
build/customize-widgets/style.css |
1.41 kB |
build/data-controls/index.min.js |
718 B |
build/data/index.min.js |
8.68 kB |
build/date/index.min.js |
40.5 kB |
build/deprecated/index.min.js |
518 B |
build/dom-ready/index.min.js |
336 B |
build/dom/index.min.js |
4.76 kB |
build/edit-post/classic-rtl.css |
571 B |
build/edit-post/classic.css |
571 B |
build/edit-post/index.min.js |
35.4 kB |
build/edit-post/style-rtl.css |
7.84 kB |
build/edit-post/style.css |
7.83 kB |
build/edit-site/index.min.js |
64 kB |
build/edit-site/style-rtl.css |
10.6 kB |
build/edit-site/style.css |
10.6 kB |
build/edit-widgets/index.min.js |
17.3 kB |
build/edit-widgets/style-rtl.css |
4.56 kB |
build/edit-widgets/style.css |
4.56 kB |
build/editor/index.min.js |
46 kB |
build/editor/style-rtl.css |
3.59 kB |
build/editor/style.css |
3.59 kB |
build/element/index.min.js |
4.95 kB |
build/escape-html/index.min.js |
548 B |
build/format-library/index.min.js |
7.26 kB |
build/format-library/style-rtl.css |
557 B |
build/format-library/style.css |
556 B |
build/hooks/index.min.js |
1.66 kB |
build/html-entities/index.min.js |
454 B |
build/i18n/index.min.js |
3.79 kB |
build/is-shallow-equal/index.min.js |
535 B |
build/keyboard-shortcuts/index.min.js |
1.79 kB |
build/keycodes/index.min.js |
1.94 kB |
build/list-reusable-blocks/index.min.js |
2.14 kB |
build/list-reusable-blocks/style-rtl.css |
865 B |
build/list-reusable-blocks/style.css |
865 B |
build/media-utils/index.min.js |
2.99 kB |
build/notices/index.min.js |
977 B |
build/plugins/index.min.js |
1.94 kB |
build/preferences-persistence/index.min.js |
2.23 kB |
build/preferences/index.min.js |
1.35 kB |
build/primitives/index.min.js |
960 B |
build/priority-queue/index.min.js |
1.52 kB |
build/private-apis/index.min.js |
952 B |
build/react-i18n/index.min.js |
702 B |
build/react-refresh-entry/index.min.js |
8.44 kB |
build/react-refresh-runtime/index.min.js |
7.31 kB |
build/redux-routine/index.min.js |
2.75 kB |
build/reusable-blocks/index.min.js |
2.26 kB |
build/reusable-blocks/style-rtl.css |
265 B |
build/reusable-blocks/style.css |
265 B |
build/rich-text/index.min.js |
11.1 kB |
build/router/index.min.js |
1.77 kB |
build/server-side-render/index.min.js |
2.09 kB |
build/shortcode/index.min.js |
1.52 kB |
build/style-engine/index.min.js |
1.55 kB |
build/token-list/index.min.js |
650 B |
build/url/index.min.js |
3.74 kB |
build/vendors/inert-polyfill.min.js |
2.48 kB |
build/vendors/react-dom.min.js |
41.8 kB |
build/vendors/react.min.js |
4.02 kB |
build/viewport/index.min.js |
1.09 kB |
build/warning/index.min.js |
280 B |
build/widgets/index.min.js |
7.3 kB |
build/widgets/style-rtl.css |
1.18 kB |
build/widgets/style.css |
1.18 kB |
build/wordcount/index.min.js |
1.06 kB |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Excellent work, @SantosGuillamot. That's going to help a lot with testing #50041. In case we are ready to switch to using Interactivity API we will have basic workflows covered to prevent any regressions. We should no longer encounter issues like the one recently fixed with #50364.
test.describe( 'Page list block', () => { | ||
test.beforeEach( async ( { admin, editor, page, requestUtils } ) => { | ||
// Create parent page. | ||
await admin.createNewPost( { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note that for creating posts/pages for test preparation (not actually going to visit the editor afterward), using requestUtils.createPost
and/or requestUtils.createPage
is often preferred since it's faster and easier.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, I didn't know about that. I changed it here as part of that pull request.
I can't seem to stop any relation, but #36939 became flaky again after this PR was merged. |
What?
Adding e2e tests for testing the frontend interactivity of the navigation block and the submenus.
Why?
Right now, most of the tests cover the editor experience of the navigation block, but there are no checks to ensure it is working properly in the frontend.
How?
The main aspects of the implementation are:
requestUtils.createNavigationMenu
andeditor.insertBlock
. Depending on the test, it is passing different attributes to the block.saveSiteEditorEntities
function to ensure it waits until the template parts have been saved before navigating to the frontend.Tests are divided into mainly three parts:
It is testing:
It is testing:
It is testing:
The rest should be covered by the previous tests.
For that, it is creating two pages: A Parent page and a Subpage.
It is testing:
I tried to cover as many use cases as possible, but let me know if you are missing anything. And I am not familiar with Playwright, so feel totally free to suggest any improvements to the code.