-
Notifications
You must be signed in to change notification settings - Fork 27.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Testing middleware with Jest: TypeError: this._headers.getAll is not a function #42374
Comments
Yes, I am unable to test my middleware now. |
I have the same issue, it's related to #41526 in packages/next/server/web/spec-extension/cookies/response-cookies.ts const headers = this._headers.getAll('set-cookie') How should we now instantiate a new |
@michalstrzelecki @hrasoa
It's not ideal, but I was kind of forced to do that. Cheers. |
This seems to be related to the middleware workaround linked to in the docs: |
@balazsorban44 as you introduced that breaking change, what is your recommendation to use |
Happening when testing middleware with jest. It was working with previous patch versions of Next 13 and then stopped. |
Hey awesome team, any update on a fix for this? Thanks |
Having the same problem when testing my middleware with Jest. Did the @firatgh and the test doesn't throw an error anymore but this is not optimal. |
I wrote this workaround for jest using mocks. Used it before the inputs, and it creates the correct response objects for a redirect.
|
This closed issue has been automatically locked because it had no new activity for a month. If you are running into a similar issue, please create a new issue with the steps to reproduce. Thank you. |
Verify canary release
Provide environment information
Operating System:
Platform: darwin
Arch: arm64
Version: Darwin Kernel Version 21.6.0: Mon Aug 22 20:20:05 PDT 2022; root:xnu-8020.140.49~2/RELEASE_ARM64_T8101
Binaries:
Node: 18.9.0
npm: 8.19.1
Yarn: 1.22.19
pnpm: N/A
Relevant packages:
next: 13.0.2-canary.0
eslint-config-next: N/A
react: 18.2.0
react-dom: 18.2.0
What browser are you using? (if relevant)
No response
How are you deploying your application? (if relevant)
No response
Describe the Bug
Hello everybody,
I am currently having issues trying to test the
middleware.ts
in my project, and to reproduce it, I've created a small project fromnext.js/examples/with-jest
template, and here is the repo.The middleware:
The test:
Other findings:
I've also dug a little bit, and it seems that
node_modules/next/server/web/spec-extension/cookies/response-cookies.ts:36:35
is expected to fail, I just don't know in which circumstances:Other things I've tried:
Changing
jestEnvironment
tonode
didn't yield the expected result. I've done it by adding the following comment in the test:Thanks in advance
Expected Behavior
I expect to be able to test the middleware.
Link to reproduction
https://github.com/firatgh/nextjs-with-jest
To Reproduce
yarn test
The text was updated successfully, but these errors were encountered: