Redesign tests and pages structure #4
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.
Hi guys,
I have redesigned the Cypress repo structure to be more robust and maintainable using the Page Object Model (POM) pattern.
What Changed:
Before: All test logic was in Cypress custom commands (commands.js), making it hard to maintain and reuse.
After: Introduced a views/ folder with dedicated page objects for each feature area.
New Structure
cypress/ e2e/ # Test specs support/ # Cypress-specific commands (login, downloadClifile) views/ # Page objects (NEW) ├── common.js # Shared utilities (navigation, org selection) ├── devicesPage.js # Device operations ├── fleetsPage.js # Fleet operations └── repositoriesPage.js # Repository operations
Benefits
Better organization - Each page/feature has its own file
Reusability - Common functions (like navigation) are shared via common.js
Easier maintenance - Changes to a page only affect one file
Cleaner tests - Tests are now simple and readable
Follows industry standards - Page Object Model is a widely adopted pattern for UI test automation