Skip to content

mate-academy/qa_cypress_e2e_settings_pom_local

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cypress: Settings

Workflow

  1. Fork the repo.
  2. Clone your forked repository.
  3. Clone this repo into you repo.
  4. Create a new branch git checkout -b e2e_testing.
  5. Run the app (Local development with SQLite).
  6. Resolve tasks.
  7. Record a video of your running your tests (you can use Loom).
  8. Check yourself before submitting the task with a Cypress checklist.
  9. Create a pull request.
    • note, you have to make a PR to this branch: branch
  10. Attach a link to your video to the PR description.
  11. Do not forget to click on Re-request review if you submit the homework after previous review.

Task

Go to e2e folder and cover listed functionality with e2e tests:

  • updating bio;
  • updating username;
  • updating email;
  • updating password.

Requirements

  1. Clear all data from the database before the test.
  2. Add data-cy attributes for all elements you are working with in tests.
  3. Use faker and custom methods to generate a fake data in tests.
  4. Use PageObject pattern for your tests:
    • create a files with POM classes for your pages in cypress/support/pages.
    • use PageObject.js file for the common for the whole app elements.

Observe an example in cypress/e2e/signIn.cy.js.
Find and additinoanl about Page Object in the Cypress topic.

Hint
💡 Be mindful of data validation when generating test data for API requests. Some randomly generated values may not meet the API’s validation rules, causing tests to fail. To avoid flaky test behaviour, ensure that your data generation method produces valid values. You can adjust the data generation by using different `faker` methods or by passing different configuration options (if the method supports them).

Releases

No releases published

Packages

No packages published

Languages

  • CSS 44.5%
  • TypeScript 28.4%
  • JavaScript 26.6%
  • Other 0.5%