nextauthjs / nextauthjs/next-auth

How to test a route handler wrapped by auth()

Open
#13,101 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

triage
Dominant language
TypeScript
Stars
28.4k
Forks
4k
PR merge metrics
No merged PRs in 30d

Description

What is the improvement or update you wish to see?

The documentation doesn't explain how to test a route handler protected using the auth() handler as it is suggested.

Is there any context that might help us understand?

I've implemented a test site, see the repo, to prove it.

The /api/protected route (here) is using the auth() handler and as it's seen in the test (here), needs to somehow create a request that auth() could handle.

The usual test, see it here doesn't work. auth() is neither accepting a NextRequest nor responding a NextReponse.

The documentation should add an example of how it can be done.

Does the docs page already exist? Please link to it.

https://authjs.dev/getting-started/session-management/protecting#api-routes

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the API routes section of the linked protecting documentation page, then compare the example repository's src/app/api/protected/route.ts and src/app/api/protected/route.test.ts with src/app/api/public/route.test.ts. Document a working way to construct a request for a route protected by auth(), with the completed example showing how the protected handler can be tested.

Written by the indexing model from the issue text.

Assessment

Tech stack
nextjs, typescript
Domain
authentication, documentation
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.