-
Notifications
You must be signed in to change notification settings - Fork 2
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
feat: Add External Portals to E2E ui-driven tests #4005
Conversation
Removed vultr server and associated DNS entries |
9ccf42f
to
551aae8
Compare
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.
A few questions and suggestions from me, mainly to improve readability/consistency. But nothing blocking so feel free to follow up in a separate PR if you like! 💪
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.
Some great comments here by @jamdelion 🙌
Great to see this being tested, a few comments to do with how context
is handled - we should probably aim to keep this simple with a single flow
if possible. Very open to thoughts here!
2 similar comments
7f0d982
to
80bf6a1
Compare
separate out types and service data lint fix
80bf6a1
to
eee94ee
Compare
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.
One small tidy up around redundant functions and we're good to go here, last round of changes look good 👍
data?: object; | ||
} | ||
|
||
export interface TestContext { |
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: I'm not sure if TestContext
is really much clearer or better than Context
here when we're entirely within Playwright tests.
Not a strongly held opinion - was there a motivation for this change? Classes with BrowserContext
maybe?
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 can't fully remember why, but it did come out of some frustration with the generalised context. Might have been to help express that as a Type it was generated within the Test so it is test specific, rather than bringing it in from external Types. If that makes sense?
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.
Great! ✅
What does this PR do?
This PR adds the External Portal component to the ui-driven end to end testing. This required adding another flow to the
create-flow.spec
so that it could be added properly and adjusting howflows
are handled incontext
. If have separated out the flows so we haveflow
which is intended to be the main one, thenexternalPortalFlow
which is intended to only be for creating an External Portal. I foundmainFlow
,targetFlow
,parentFlow
unnecessary and makingexternalPortalFlow
felt more explicit and easy to understand what it isI also set up some test fixes on flaky parts of the test and added helpers to simplify the process of publishing, turning a service online, and navigating between services.