Skip to content

docs: needs_auth:false assertions still trigger the auth fixture #2912

Description

@marcel-rbro

Part of #2671.

Problem

from-doc.spec.ts:50 destructures { page, browser }, and page comes from ./auth.fixture. Requesting it runs the worker-scoped authState fixture — a full login — before the anon-context branch at line 66 is ever reached.

That branch exists specifically so assertions tagged needs_auth: false (the sign-in / sign-up pages) run logged out, since visiting /sign-up with a session redirects into the app and the documented buttons vanish. The fixture dependency defeats it: those assertions can only run if credentials are available, even though they need no session.

Evidence

With CONSOLE_STAGING_USER_EMAIL / CONSOLE_STAGING_USER_PASSWORD unset and only CONSOLE_STAGING_URL present, all 38 UI assertions fail with:

Error: CONSOLE_STAGING_URL, CONSOLE_STAGING_USER_EMAIL and CONSOLE_STAGING_USER_PASSWORD must be set
   at auth.fixture.ts:36

Expected: the 2 assertions with needs_auth: false should still run and pass, since the anon path builds its own context from browser + baseURL.

Fix

Don't request page unconditionally. Options: take only { browser } in the test signature and resolve the authenticated page inside the needs_auth branch, or split the two cases into separate test() declarations so Playwright only instantiates the fixture where it's needed.

Impact

Minor and latent — CI always has credentials, so nothing fails there today. It matters for local runs without secrets, where the credential-free subset should still be runnable, and it means the logged-out assertions aren't actually verifying the logged-out state they were written for.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentation.t-docsIssues owned by technical writing team.

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions