Playwright/Cypress examples #41
Open
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.
Add end-to-end testing with Playwright and Cypress
Overview
Added comprehensive E2E test suites for both Playwright and Cypress to demonstrate authentication flows with WorkOS AuthKit. Tests cover both authenticated and unauthenticated user scenarios.
Note
POST test/set-session
This requires the developer exposes an endpoint on their app that allows to sideload sessions via
saveSession
. The idea is that the test runner will perform an authentication using the node SDK, and reuse the cookies to avoid having to enter credentials, bypass bot checks in hosted authkit, and generally run E2E tests faster.What's Added
Playwright Tests
tests/fixtures.ts
) - Custom test setup with WorkOS authenticationtests/authenticated-flows.spec.ts
) - Tests for logged-in user behaviortests/unauthenticated-flows.spec.ts
) - Tests for anonymous user redirectsplaywright.config.ts
) - Playwright setup with proper timeouts and browser configurationCypress Tests
cypress/support/commands.ts
) -cy.login()
command for authenticationcypress/plugins/workos.ts
) - Node.js task for API authenticationcypress/e2e/*.cy.ts
) - Mirror of Playwright test coveragecypress.config.ts
) - Cypress setup with environment handlingTest Features
Test Scenarios Covered
Authenticated Users:
Unauthenticated Users:
Setup Requirements
Set the following environment variables:
Running Tests
Both test suites validate the same authentication flows and can be run independently or together for comprehensive coverage.