sparkletown / sparkle

Building an open, community-owned hyperverse town
GNU Affero General Public License v3.0
33 stars 30 forks source link

Addition of Cypress for E2E testing #3060

Closed goran-peoski-work closed 2 years ago

goran-peoski-work commented 2 years ago

Partially resolves:

This is just the first inclusion, should work by manually invoking:

Parts of the chain can be run separately, like npm run cy:open or npm run firebase:emulate-cy, but in general they serve as a components for a more complex pipelines like in CircleCI and/or locally through husky triggers for git actions (done by follow up PRs).

One more thing to be added with follow up PR is the ability to reset auth and/or users, similar to the Firestore DB utilities added in this PR.

[UPDATE] A CircleCI related sub-PR has been merged to this one that allows for the CI workflow to trigger the end-to-end tests automatically:

Here is how the CLI output of a run looks like: sparkle-cy-02

Here are the videos recorded by the specs themselves during their runs:

https://user-images.githubusercontent.com/79229621/165724278-630380b5-251a-4a7e-bdc9-54738aedfdee.mp4

https://user-images.githubusercontent.com/79229621/165724292-4c2816aa-2aab-48b4-b296-f68f20f2ba0e.mp4