Skip to content

Node.js + Express.js + Sequelize + SQLite/PostgreSQL + Next.js fullstack static/SSG/ISG Example Realworld App. Includes Heroku deployment, DB migration, DB and API unit testing, DB seeding, and ESLint linting setups.

Notifications You must be signed in to change notification settings

iBrianWarner/node-express-sequelize-nextjs-realworld-example-app

 
 

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. Create a pull request.
  8. 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.

About

Node.js + Express.js + Sequelize + SQLite/PostgreSQL + Next.js fullstack static/SSG/ISG Example Realworld App. Includes Heroku deployment, DB migration, DB and API unit testing, DB seeding, and ESLint linting setups.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • CSS 44.6%
  • TypeScript 28.5%
  • JavaScript 26.4%
  • Other 0.5%