Extract commonly used test logic to commands #8767
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What
This PR extracts a lot of the commonly used logic into Cypress commands.
cy.resetState()
to reset the instance database and IndexedDBcy.registerUser(username, password, isAdmin)
to create a (admin) usercy.login(username, password)
to log in a userWhy
This reduces code duplication, especially considering we want to write more tests in the future, which require a lot of the same setup code in the beginning.
Additional info (optional)
Not every instance of logging in users or registering them has been replaced. I only replace them in
before/after{Each}
hooks because if we specifically test if registering/logging in works, that should not be hidden behind an abstraction.Tests currently fail after a fixed point because the sign-in limiter kicks in, this is already being discussed in #7986.