-
Notifications
You must be signed in to change notification settings - Fork 25
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
#8581 mod listing page object model and organizing page editor POMs #8742
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #8742 +/- ##
==========================================
- Coverage 74.24% 74.24% -0.01%
==========================================
Files 1332 1332
Lines 40817 40826 +9
Branches 7634 7635 +1
==========================================
+ Hits 30306 30312 +6
- Misses 10511 10514 +3 ☔ View full report in Codecov by Sentry. |
Playwright test resultsDetails Open report ↗︎ Skipped testschrome › tests/runtime/googleSheetsIntegration.spec.ts › can activate a google spreadsheet mod with config options |
knip.mjs
Outdated
@@ -45,6 +45,8 @@ const knipConfig = { | |||
"src/development/hooks/**", | |||
// Type-only strictNullChecks helper | |||
"src/types/typeOnlyMessengerRegistration.ts", | |||
// End-to-end tests |
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.
nit: unnecessary comment imo 😅 but I imagine you included it for consistency?
import { type Locator } from "@playwright/test"; | ||
|
||
// Starter brick names as shown in the Page Editor UI | ||
export type StarterBrickName = |
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.
To get rid of comment?
export type StarterBrickName = | |
export type StarterBrickUIName = |
export class ModListItem extends BasePageObject { | ||
saveButton = this.locator("[data-icon=save]"); | ||
get menuButton() { | ||
return this.getByLabel(`${this.modComponentName} - Ellipsis`); |
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.
nice, I didn't realize we had that aria label on those buttons
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.
looks good so far; lmk when you resolve failing tests
request.url().includes("/api/registry/bricks/"), | ||
); |
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.
not directly related to this PR, but I had to add this timeout after defining a default timeout for actions
|
||
/* Set the default timeout for actions such as `click` */ | ||
actionTimeout: 5_000, | ||
|
||
/* Set the default timeout for page navigations */ | ||
navigationTimeout: 10_000, |
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.
waiting the whole test timeout for a failed click action is annoying so I defined a default action and nav timeouts.
No loom links were found in the first post. Please add one there if you'd like to it to appear on Slack. Do not edit this comment manually. |
What does this PR do?
It introduces a new file
modListingPanel.ts
which contains classes for handling the mod listing panel in the page editor. It also moves the main page editor POM to its own directory. The changes are part of the ongoing effort to improve the maintainability and readability of the end-to-end testing codebase.Part of #8581