{"id":21172308,"url":"https://github.com/markomilenkovic546/passwordless-auth-cypress","last_synced_at":"2025-03-14T17:42:18.544Z","repository":{"id":238518398,"uuid":"796728512","full_name":"markomilenkovic546/passwordless-auth-cypress","owner":"markomilenkovic546","description":"This project demonstrates a solution for  Cypress automation testing of the signup and login features of an application that utilizes passwordless authentication methods, such as magic link or OTP sent via email. This solution provides access to email inboxes via the third-party service.","archived":false,"fork":false,"pushed_at":"2024-05-30T13:40:38.000Z","size":1511,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-21T11:12:21.950Z","etag":null,"topics":["cypress","javascript","mailsac","otp","passwordless-authentication","test-automation"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/markomilenkovic546.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-06T14:14:57.000Z","updated_at":"2024-05-30T13:40:42.000Z","dependencies_parsed_at":"2024-05-06T15:46:45.351Z","dependency_job_id":"92bac2d5-38ec-423a-b4e7-96ab41c52a78","html_url":"https://github.com/markomilenkovic546/passwordless-auth-cypress","commit_stats":null,"previous_names":["markomilenkovic546/passwordless-auth-cypress"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markomilenkovic546%2Fpasswordless-auth-cypress","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markomilenkovic546%2Fpasswordless-auth-cypress/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markomilenkovic546%2Fpasswordless-auth-cypress/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markomilenkovic546%2Fpasswordless-auth-cypress/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/markomilenkovic546","download_url":"https://codeload.github.com/markomilenkovic546/passwordless-auth-cypress/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243622757,"owners_count":20321020,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cypress","javascript","mailsac","otp","passwordless-authentication","test-automation"],"created_at":"2024-11-20T16:23:38.312Z","updated_at":"2025-03-14T17:42:18.325Z","avatar_url":"https://github.com/markomilenkovic546.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Project description 📖\n\nThis project demonstrates a solution for automation testing of the signup and login features of an application that utilizes passwordless authentication methods, such as magic link or OTP sent via email. This solution provides access to email inboxes via the third-party service 'mailsac.com' avoiding the need to access inboxes via a browser. I used 'Clockify' as an example of the application under test.\n\nAccess to the email inbox via `mailsac.com` API is facilitated by creating an account on `mailsac.com` and obtaining an API key, which must be attached in the HTTP request header to retrieve the contents of any email inbox associated with the mailsac.com domain. The content of the email inbox is returned by the server in JSON format. The logic pertaining to interaction with the mailsac.com service and extraction of email content has been abstracted into Cypress custom commands, located in `cypress/support/commands.js`.\n\nRegarding interaction with UI elements, the project follows the Page Object Model (POM) design pattern.\nThe logic for generating random data is created using the faker.js library. The function that returns an object containing randomly generated user data is located in `cypress/support/data.js`.\n\nEnd-to-end tests are located in the cypress/specs directory. It's necessary to create a `.env` file and place the mailsac.com API key in it, as demonstrated in the .env.example file. The Cypress configuration file is set up to load .env variables as Cypress.env variables.\"\n\n## Install dependencies:\n\n```bash\nnpm install\n# or\npnpm install\n```\n\n## Available Scripts 🧪\n\n```bash\nnpm run e2e-prod:chrome\nnpm run e2e-prod:edge\nnpm run e2e-prod:firefox\n# or\npnpm run e2e-prod:chrome\npnpm run e2e-prod:edge\npnpm run e2e-prod:firefox\n```\n\n## Test Run Reports 📊\n\nAfter running the tests, the `cypress-mochawesome-reporter` generates the `reports` folder with detailed HTML reports. These reports provide insights into test results, including passed, failed, and skipped tests, along with detailed logs and screenshots.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarkomilenkovic546%2Fpasswordless-auth-cypress","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarkomilenkovic546%2Fpasswordless-auth-cypress","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarkomilenkovic546%2Fpasswordless-auth-cypress/lists"}