-
-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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
chore : Comprehensive e2e testing for public sharing #50260
base: master
Are you sure you want to change the base?
Conversation
088f24e
to
2133889
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.
Feels like the missing piece is now to ensure that the submitted share options are effective by accessing the share.
const { dataSnapshot, shareUrl } = data as any || {} | ||
if (dataSnapshot) { | ||
cy.restoreState(dataSnapshot) | ||
defaultShareContext.url = shareUrl |
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.
If you set one of its property, it is not a default anymore.
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 don't get the purpose of defaultShareContext
. It is a global variable that is used only in this file, but is also passed as an argument in the functions in this file. Feels confusing. And it is mainly used to provide the User
object and to receive the url
. Can't we use an argument and the return value instead?
Can't we do without?
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.
That method is being used in other tests in away that does not provide parameters those tests just need some or a public link to exist.
This file has now been repurposed to continue serving those tests while this new scenario.
cypress/e2e/files_sharing/public-share/required-before-create.cy.ts
Outdated
Show resolved
Hide resolved
cypress/e2e/files_sharing/public-share/required-before-create.cy.ts
Outdated
Show resolved
Hide resolved
2133889
to
4b32508
Compare
This update enhances the testing framework for public sharing by improving the setup and management of share contexts. It refactors the code to make the `createShare` function reusable externally, ensuring better testability and flexibility. Additionally, the update optimizes share permission adjustments and improves state management, making public share setups more efficient and maintainable. Signed-off-by: nfebe <[email protected]>
This commit introduces end-to-end tests for various public link sharing scenarios in the `files_sharing` app. It validates the behavior under multiple configurations: - Password and expiration date enforced - Password enforced with a default expiration date - Expiration date enforced with optional password - Default password and expiration date without enforcement - Password enforced, expiration date set but not enforced - Both password and expiration date not enforced, but defaults set - Password not enforced, expiration date enforced - Password not enforced, default expiration date set - Password and expiration date not enforced with no defaults The tests ensure proper validation and functionality of the configurations, leveraging the `setupData` and `createShare` utilities. Signed-off-by: nfebe <[email protected]>
Signed-off-by: nfebe <[email protected]>
4b32508
to
96b7fdb
Compare
This PR enhances the testing framework for public sharing by introducing modular improvements and extending test coverage with "before create public share" checks.
Adds the following tests:
Screencast for e2e plays
public-sharing-e2e-tests.mp4