Skip to content

[test] Add suite for .env in App router based on existing Pages Router tests#92158

Draft
eps1lon wants to merge 2 commits into
canaryfrom
sebbie/test-env-app-dir
Draft

[test] Add suite for .env in App router based on existing Pages Router tests#92158
eps1lon wants to merge 2 commits into
canaryfrom
sebbie/test-env-app-dir

Conversation

@eps1lon
Copy link
Copy Markdown
Member

@eps1lon eps1lon commented Mar 31, 2026

We got reports that this behavior changed in 16.2. Since we don't have any tests for App router, I'm adding some.

Hopefully the existing tests catch the regression. Otherwise I'll just copy the case from #92116

@nextjs-bot nextjs-bot added created-by: Next.js team PRs by the Next.js team. tests labels Mar 31, 2026
@nextjs-bot
Copy link
Copy Markdown
Contributor

nextjs-bot commented Mar 31, 2026

Failing test suites

Commit: 6382ef610efba3c218dca76ea405158313327d57 | About building and testing Next.js

pnpm test-start test/e2e/app-dir/app-env-config/app-env-config.test.ts (job)

  • app-dir env-config > should have process environment override .env (DD)
  • app-dir env-config > should provide global env to next.config.js (DD)
  • app-dir env-config > should inline global values during build (DD)
  • app-dir env-config > should provide env for static server component (DD)
  • app-dir env-config > should provide env correctly for dynamic server component (DD)
  • app-dir env-config > should provide env correctly for route handlers (DD)
  • app-dir env-config > should load env from .env (DD)
  • app-dir env-config > should use a consistent value across static, dynamic, and cached environments (DD)
Expand output

● app-dir env-config › should have process environment override .env

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:99:17)

● app-dir env-config › should provide global env to next.config.js

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:99:17)

● app-dir env-config › should inline global values during build

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:99:17)

● app-dir env-config › should provide env for static server component

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:99:17)

● app-dir env-config › should provide env correctly for dynamic server component

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:99:17)

● app-dir env-config › should provide env correctly for route handlers

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:99:17)

● app-dir env-config › should load env from .env

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:99:17)

● app-dir env-config › should use a consistent value across static, dynamic, and cached environments

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:99:17)

pnpm test-start test/e2e/app-dir-export/test/start.test.ts (job)

  • app dir - with output export (next start) > should warn during next start with output standalone (DD)
Expand output

● app dir - with output export (next start) › should warn during next start with output standalone

can not run export while server is running, use next.stop() first

  251 |   ) {
  252 |     if (this.childProcess) {
> 253 |       throw new Error(
      |             ^
  254 |         `can not run export while server is running, use next.stop() first`
  255 |       )
  256 |     }

  at NextStartInstance.build (lib/next-modes/next-start.ts:253:13)
  at build (e2e/app-dir-export/test/start.test.ts:33:43)
  at NextStartInstance.runWithTempContent [as patchFile] (lib/next-modes/base.ts:758:15)
  at Object.<anonymous> (e2e/app-dir-export/test/start.test.ts:28:7)

pnpm test-start test/e2e/app-dir/app-static/app-static-custom-handler.test.ts (job)

  • app-dir static/dynamic handling > should respond correctly for dynamic route with dynamicParams false in layout (DD)
  • app-dir static/dynamic handling > should respond correctly for partially dynamic route with dynamicParams false in layout (DD)
  • app-dir static/dynamic handling > should use auto no cache when no fetch config (DD)
  • app-dir static/dynamic handling > should correctly handle "default" cache statuses (DD)
  • app-dir static/dynamic handling > should still cache even though the W3C trace context headers traceparent and tracestate were different (DD)
  • app-dir static/dynamic handling > should warn for too many cache tags (DD)
  • app-dir static/dynamic handling > should propagate unstable_cache tags correctly (DD)
  • app-dir static/dynamic handling > should infer a fetchCache of force-no-store when force-dynamic is used (DD)
  • app-dir static/dynamic handling > should infer a fetch cache of "force-cache" when force-dynamic is used on a fetch with revalidate (DD)
  • app-dir static/dynamic handling > force-dynamic should supercede a "default" cache value (DD)
  • app-dir static/dynamic handling > fetchCache config should supercede dynamic config when force-dynamic is used (DD)
  • app-dir static/dynamic handling > fetch cache should supercede dynamic config when force-dynamic is used (DD)
  • app-dir static/dynamic handling > should correctly include headers instance in cache key (DD)
  • app-dir static/dynamic handling > unstable-cache should work in pages/unstable-cache-node (DD)
  • app-dir static/dynamic handling > unstable-cache should work in pages/unstable-cache-edge (DD)
  • app-dir static/dynamic handling > unstable-cache should work in pages/api/unstable-cache-node (DD)
  • app-dir static/dynamic handling > unstable-cache should work in pages/api/unstable-cache-edge (DD)
  • app-dir static/dynamic handling > should not have cache tags header for non-minimal mode (DD)
  • app-dir static/dynamic handling > should correctly skip caching POST fetch for POST handler (DD)
  • app-dir static/dynamic handling > should correctly handle fetchCache = "force-no-store" (DD)
  • app-dir static/dynamic handling > should not cache non-ok statusCode (DD)
  • app-dir static/dynamic handling > should not encode dynamic parameters as search parameters in RSC data (DD)
  • app-dir static/dynamic handling > should output HTML/RSC files for static paths (DD)
  • app-dir static/dynamic handling > should have correct prerender-manifest entries (DD)
  • app-dir static/dynamic handling > should output debug info for static bailouts (DD)
  • app-dir static/dynamic handling > should log fetch metrics to the diagnostics directory (DD)
  • app-dir static/dynamic handling > should have correct cache tags for prerendered path (DD)
  • app-dir static/dynamic handling > should stream properly for /stale-cache-serving/app-page (DD)
  • app-dir static/dynamic handling > should stream properly for /stale-cache-serving/route-handler (DD)
  • app-dir static/dynamic handling > should stream properly for /stale-cache-serving-edge/app-page (DD)
  • app-dir static/dynamic handling > should stream properly for /stale-cache-serving-edge/route-handler (DD)
  • app-dir static/dynamic handling > should correctly handle statusCode with notFound + ISR (DD)
  • app-dir static/dynamic handling > should cache correctly for fetchCache = default-cache (DD)
  • app-dir static/dynamic handling > should cache correctly when accessing search params opts into dynamic rendering (DD)
  • app-dir static/dynamic handling > should cache correctly for fetchCache = force-cache (DD)
  • app-dir static/dynamic handling > should cache correctly for cache: "force-cache" and "revalidate" (DD)
  • app-dir static/dynamic handling > should cache correctly for cache: no-store (DD)
  • app-dir static/dynamic handling > should not error with dynamic server usage with force-static (DD)
  • app-dir static/dynamic handling > should produce response with url from fetch (DD)
  • app-dir static/dynamic handling > should properly error when dynamic = "error" page uses dynamic (DD)
  • app-dir static/dynamic handling > should skip cache in draft mode (DD)
  • app-dir static/dynamic handling > should handle partial-gen-params with default dynamicParams correctly (DD)
  • app-dir static/dynamic handling > should handle partial-gen-params with layout dynamicParams = false correctly (DD)
  • app-dir static/dynamic handling > should handle partial-gen-params with page dynamicParams = false correctly (DD)
  • app-dir static/dynamic handling > should honor fetch cache correctly (DD)
  • app-dir static/dynamic handling > should honor fetch cache correctly (edge) (DD)
  • app-dir static/dynamic handling > should cache correctly with authorization header and revalidate (DD)
  • app-dir static/dynamic handling > should skip fetch cache when an authorization header is present after dynamic usage (DD)
  • app-dir static/dynamic handling > should skip fetch cache when accessing request properties (DD)
  • app-dir static/dynamic handling > should not cache correctly with POST method request init (DD)
  • app-dir static/dynamic handling > should cache correctly with post method and revalidate (DD)
  • app-dir static/dynamic handling > should cache correctly with post method and revalidate edge (DD)
  • app-dir static/dynamic handling > should cache correctly with POST method and revalidate (DD)
  • app-dir static/dynamic handling > should cache correctly with cookie header and revalidate (DD)
  • app-dir static/dynamic handling > should cache correctly with utf8 encoding (DD)
  • app-dir static/dynamic handling > should cache correctly with utf8 encoding edge (DD)
  • app-dir static/dynamic handling > should cache correctly handle JSON body (DD)
  • app-dir static/dynamic handling > should not throw Dynamic Server Usage error when using generateStaticParams with draftMode (DD)
  • app-dir static/dynamic handling > should force SSR correctly for headers usage (DD)
  • app-dir static/dynamic handling > should allow dynamic routes to access cookies (DD)
  • app-dir static/dynamic handling > should not error with generateStaticParams and dynamic data (DD)
  • app-dir static/dynamic handling > should not error with force-dynamic and catch-all routes (DD)
  • app-dir static/dynamic handling > should not error with generateStaticParams and authed data on revalidate (DD)
  • app-dir static/dynamic handling > should work with forced dynamic path (DD)
  • app-dir static/dynamic handling > should work with dynamic path no generateStaticParams (DD)
  • app-dir static/dynamic handling > should handle dynamicParams: true correctly (DD)
  • app-dir static/dynamic handling > should ssr dynamically when detected automatically with fetch cache option (DD)
  • app-dir static/dynamic handling > should render not found pages correctly and fallback to the default one (DD)
  • app-dir static/dynamic handling > should ssr dynamically when forced via config (DD)
  • app-dir static/dynamic handling > should keep querystring on static page (DD)
  • app-dir static/dynamic handling > should have logs from cache-handler (DD)
  • app-dir static/dynamic handling > should build dynamic param with edge runtime correctly (DD)
  • app-dir static/dynamic handling > Incremental cache limits > should cache large data when using custom cache handler and force-cache mode (DD)
  • app-dir static/dynamic handling > unstable_cache > should retrieve the same value on second request (DD)
  • app-dir static/dynamic handling > unstable_cache > should bypass cache in draft mode (DD)
  • app-dir static/dynamic handling > unstable_cache > should not cache new result in draft mode (DD)
  • app-dir static/dynamic handling > unstable_cache > should be able to read the draft mode status (DD)
  • app-dir static/dynamic handling > unstable_cache > should not error when retrieving the value undefined (DD)
  • app-dir static/dynamic handling > unstable_cache > should not error when calling a fetch no-store (DD)
  • app-dir static/dynamic handling > unstable_cache > should not error when calling a fetch no-cache (DD)
  • app-dir static/dynamic handling > unstable_noStore > should opt-out of static optimization (DD)
  • app-dir static/dynamic handling > unstable_noStore > should not opt-out of static optimization when used in next/cache (DD)
  • app-dir static/dynamic handling > updateTag/revalidateTag > should throw error when updateTag is called in route handler (DD)
  • app-dir static/dynamic handling > updateTag/revalidateTag > should successfully update tag when called from server action (DD)
  • app-dir static/dynamic handling > updateTag/revalidateTag > revalidateTag work with max profile in server actions (DD)
  • app-dir static/dynamic handling > updateTag/revalidateTag > should show deprecation warning for revalidateTag without second argument (DD)
  • app-dir static/dynamic handling > usePathname > should have the correct values (DD)
  • app-dir static/dynamic handling > usePathname > should have values from canonical url on rewrite (DD)
  • app-dir static/dynamic handling > useSearchParams > client > should bailout to client rendering - with suspense boundary (DD)
  • app-dir static/dynamic handling > useSearchParams > client > should have values from canonical url on rewrite (DD)
  • app-dir static/dynamic handling > useSearchParams > server response > should bailout to client rendering - with suspense boundary (DD)
Expand output

● app-dir static/dynamic handling › should respond correctly for dynamic route with dynamicParams false in layout

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should respond correctly for dynamic route with dynamicParams false in layout

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should respond correctly for partially dynamic route with dynamicParams false in layout

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should respond correctly for partially dynamic route with dynamicParams false in layout

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should use auto no cache when no fetch config

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should use auto no cache when no fetch config

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should correctly handle "default" cache statuses

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should correctly handle "default" cache statuses

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should still cache even though the W3C trace context headers traceparent and tracestate were different

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should still cache even though the W3C trace context headers traceparent and tracestate were different

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should warn for too many cache tags

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should warn for too many cache tags

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should propagate unstable_cache tags correctly

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should propagate unstable_cache tags correctly

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should infer a fetchCache of force-no-store when force-dynamic is used

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should infer a fetchCache of force-no-store when force-dynamic is used

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should infer a fetch cache of "force-cache" when force-dynamic is used on a fetch with revalidate

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should infer a fetch cache of "force-cache" when force-dynamic is used on a fetch with revalidate

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › force-dynamic should supercede a "default" cache value

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › force-dynamic should supercede a "default" cache value

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › fetchCache config should supercede dynamic config when force-dynamic is used

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › fetchCache config should supercede dynamic config when force-dynamic is used

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › fetch cache should supercede dynamic config when force-dynamic is used

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › fetch cache should supercede dynamic config when force-dynamic is used

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should correctly include headers instance in cache key

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should correctly include headers instance in cache key

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should correctly de-dupe fetch without next cache /react-fetch-deduping-node

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should correctly de-dupe fetch without next cache /react-fetch-deduping-node

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should correctly de-dupe fetch without next cache /react-fetch-deduping-edge

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should correctly de-dupe fetch without next cache /react-fetch-deduping-edge

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › unstable-cache should work in pages/unstable-cache-node

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › unstable-cache should work in pages/unstable-cache-node

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › unstable-cache should work in pages/unstable-cache-edge

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › unstable-cache should work in pages/unstable-cache-edge

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › unstable-cache should work in pages/api/unstable-cache-node

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › unstable-cache should work in pages/api/unstable-cache-node

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › unstable-cache should work in pages/api/unstable-cache-edge

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › unstable-cache should work in pages/api/unstable-cache-edge

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should not have cache tags header for non-minimal mode

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should not have cache tags header for non-minimal mode

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should correctly skip caching POST fetch for POST handler

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should correctly skip caching POST fetch for POST handler

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should correctly handle fetchCache = "force-no-store"

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should correctly handle fetchCache = "force-no-store"

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should not cache non-ok statusCode

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should not cache non-ok statusCode

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should not encode dynamic parameters as search parameters in RSC data

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should not encode dynamic parameters as search parameters in RSC data

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should output HTML/RSC files for static paths

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should output HTML/RSC files for static paths

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should have correct prerender-manifest entries

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should have correct prerender-manifest entries

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should output debug info for static bailouts

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should output debug info for static bailouts

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should log fetch metrics to the diagnostics directory

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should log fetch metrics to the diagnostics directory

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should have correct cache tags for prerendered path

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should have correct cache tags for prerendered path

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should stream properly for /stale-cache-serving/app-page

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should stream properly for /stale-cache-serving/app-page

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should stream properly for /stale-cache-serving/route-handler

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should stream properly for /stale-cache-serving/route-handler

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should stream properly for /stale-cache-serving-edge/app-page

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should stream properly for /stale-cache-serving-edge/app-page

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should stream properly for /stale-cache-serving-edge/route-handler

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should stream properly for /stale-cache-serving-edge/route-handler

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should correctly handle statusCode with notFound + ISR

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should correctly handle statusCode with notFound + ISR

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should cache correctly for fetchCache = default-cache

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should cache correctly for fetchCache = default-cache

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should cache correctly when accessing search params opts into dynamic rendering

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should cache correctly when accessing search params opts into dynamic rendering

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should cache correctly for fetchCache = force-cache

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should cache correctly for fetchCache = force-cache

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should cache correctly for cache: "force-cache" and "revalidate"

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should cache correctly for cache: "force-cache" and "revalidate"

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should cache correctly for cache: no-store

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should cache correctly for cache: no-store

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should not error with dynamic server usage with force-static

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should not error with dynamic server usage with force-static

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should produce response with url from fetch

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should produce response with url from fetch

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should properly error when dynamic = "error" page uses dynamic

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should properly error when dynamic = "error" page uses dynamic

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should skip cache in draft mode

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should skip cache in draft mode

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should handle partial-gen-params with default dynamicParams correctly

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should handle partial-gen-params with default dynamicParams correctly

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should handle partial-gen-params with layout dynamicParams = false correctly

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should handle partial-gen-params with layout dynamicParams = false correctly

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should handle partial-gen-params with page dynamicParams = false correctly

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should handle partial-gen-params with page dynamicParams = false correctly

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should honor fetch cache correctly

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should honor fetch cache correctly

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should honor fetch cache correctly (edge)

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should honor fetch cache correctly (edge)

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should cache correctly with authorization header and revalidate

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should cache correctly with authorization header and revalidate

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should skip fetch cache when an authorization header is present after dynamic usage

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should skip fetch cache when an authorization header is present after dynamic usage

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should skip fetch cache when accessing request properties

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should skip fetch cache when accessing request properties

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should not cache correctly with POST method request init

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should not cache correctly with POST method request init

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should cache correctly with post method and revalidate

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should cache correctly with post method and revalidate

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should cache correctly with post method and revalidate edge

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should cache correctly with post method and revalidate edge

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should cache correctly with POST method and revalidate

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should cache correctly with POST method and revalidate

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should cache correctly with cookie header and revalidate

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should cache correctly with cookie header and revalidate

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should cache correctly with utf8 encoding

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should cache correctly with utf8 encoding

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should cache correctly with utf8 encoding edge

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should cache correctly with utf8 encoding edge

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should cache correctly handle JSON body

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should cache correctly handle JSON body

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should not throw Dynamic Server Usage error when using generateStaticParams with draftMode

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should not throw Dynamic Server Usage error when using generateStaticParams with draftMode

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should force SSR correctly for headers usage

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should force SSR correctly for headers usage

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should allow dynamic routes to access cookies

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should allow dynamic routes to access cookies

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should not error with generateStaticParams and dynamic data

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should not error with generateStaticParams and dynamic data

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should not error with force-dynamic and catch-all routes

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should not error with force-dynamic and catch-all routes

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should not error with generateStaticParams and authed data on revalidate

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should not error with generateStaticParams and authed data on revalidate

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should work with forced dynamic path

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should work with forced dynamic path

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should work with dynamic path no generateStaticParams

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should work with dynamic path no generateStaticParams

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should handle dynamicParams: true correctly

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should handle dynamicParams: true correctly

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should ssr dynamically when detected automatically with fetch cache option

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should ssr dynamically when detected automatically with fetch cache option

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should render not found pages correctly and fallback to the default one

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should render not found pages correctly and fallback to the default one

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should ssr dynamically when detected automatically with fetch revalidate option

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should ssr dynamically when detected automatically with fetch revalidate option

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should ssr dynamically when forced via config

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should ssr dynamically when forced via config

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › useSearchParams › client › should bailout to client rendering - with suspense boundary

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › useSearchParams › client › should bailout to client rendering - with suspense boundary

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › useSearchParams › client › should have empty search params on force-static

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › useSearchParams › client › should have empty search params on force-static

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › useSearchParams › client › should have values from canonical url on rewrite

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › useSearchParams › client › should have values from canonical url on rewrite

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › useSearchParams › server response › should bailout to client rendering - with suspense boundary

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › useSearchParams › server response › should bailout to client rendering - with suspense boundary

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › useSearchParams › server response › should have empty search params on force-static

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › useSearchParams › server response › should have empty search params on force-static

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › usePathname › should have the correct values

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › usePathname › should have the correct values

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › usePathname › should have values from canonical url on rewrite

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › usePathname › should have values from canonical url on rewrite

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › unstable_noStore › should opt-out of static optimization

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › unstable_noStore › should opt-out of static optimization

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › unstable_noStore › should not opt-out of static optimization when used in next/cache

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › unstable_noStore › should not opt-out of static optimization when used in next/cache

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › unstable_cache › should retrieve the same value on second request

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › unstable_cache › should retrieve the same value on second request

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › unstable_cache › should bypass cache in draft mode

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › unstable_cache › should bypass cache in draft mode

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › unstable_cache › should not cache new result in draft mode

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › unstable_cache › should not cache new result in draft mode

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › unstable_cache › should be able to read the draft mode status

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › unstable_cache › should be able to read the draft mode status

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › unstable_cache › should not error when retrieving the value undefined

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › unstable_cache › should not error when retrieving the value undefined

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › unstable_cache › should not error when calling a fetch no-store

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › unstable_cache › should not error when calling a fetch no-store

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › unstable_cache › should not error when calling a fetch no-cache

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › unstable_cache › should not error when calling a fetch no-cache

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should keep querystring on static page

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should keep querystring on static page

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should have logs from cache-handler

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should have logs from cache-handler

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › Incremental cache limits › should cache large data when using custom cache handler and force-cache mode

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › Incremental cache limits › should cache large data when using custom cache handler and force-cache mode

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › should build dynamic param with edge runtime correctly

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should build dynamic param with edge runtime correctly

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › updateTag/revalidateTag › should throw error when updateTag is called in route handler

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › updateTag/revalidateTag › should throw error when updateTag is called in route handler

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › updateTag/revalidateTag › should successfully update tag when called from server action

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › updateTag/revalidateTag › should successfully update tag when called from server action

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › updateTag/revalidateTag › revalidateTag work with max profile in server actions

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › updateTag/revalidateTag › revalidateTag work with max profile in server actions

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● app-dir static/dynamic handling › updateTag/revalidateTag › should show deprecation warning for revalidateTag without second argument

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  328 |   let next: NextInstance | undefined
  329 |   if (!skipped) {
> 330 |     beforeAll(async () => {
      |     ^
  331 |       next = await createNext(options)
  332 |     })
  333 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:330:5)
  at e2e/app-dir/app-static/app-static.test.ts:20:18
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:18:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › updateTag/revalidateTag › should show deprecation warning for revalidateTag without second argument

next instance is not initialized yet, make sure you call methods on next instance in test body.

  342 |     get: function (_target, property) {
  343 |       if (!next) {
> 344 |         throw new Error(
      |               ^
  345 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  346 |         )
  347 |       }

  at Object.get (lib/e2e-utils/index.ts:344:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:38:20)

● Test suite failed to run

next instance not destroyed before exiting, make sure to call .destroy() after the tests after finished

  209 |     if (nextInstance) {
  210 |       await nextInstance.destroy()
> 211 |       throw new Error(
      |             ^
  212 |         `next instance not destroyed before exiting, make sure to call .destroy() after the tests after finished`
  213 |       )
  214 |     }

  at Object.<anonymous> (lib/e2e-utils/index.ts:211:13)

pnpm test-dev test/e2e/app-dir/instant-validation/instant-validation-parallel-slots.test.ts (job)

  • instant validation - parallel slot configs > dev - client navigation > config on slot page > catches unsuspended dynamic content in children when config is on slot layout (DD)
Expand output

● instant validation - parallel slot configs › dev - client navigation › config on slot page › catches unsuspended dynamic content in children when config is on slot layout

expect(received).toContain(expected) // indexOf

Expected substring: "/suspense-in-root/parallel/slot-layout-config"
Received string:    "http://localhost:37633/suspense-in-root"

   96 |       await retry(
   97 |         async () => {
>  98 |           expect(await browser.url()).toContain(href)
      |                                       ^
   99 |         },
  100 |         undefined,
  101 |         100,

  at toContain (e2e/app-dir/instant-validation/instant-validation-parallel-slots.test.ts:98:39)
  at retry (lib/next-test-utils.ts:861:14)
  at navigateTo (e2e/app-dir/instant-validation/instant-validation-parallel-slots.test.ts:96:7)
  at Object.<anonymous> (e2e/app-dir/instant-validation/instant-validation-parallel-slots.test.ts:172:27)

Comment thread test/e2e/app-dir/app-env-config/app-env-config.test.ts
Comment thread test/e2e/app-dir/app-env-config/app-env-config.test.ts Outdated
@nextjs-bot
Copy link
Copy Markdown
Contributor

nextjs-bot commented Mar 31, 2026

Stats from current PR

✅ No significant changes detected

📊 All Metrics
📖 Metrics Glossary

Dev Server Metrics:

  • Listen = TCP port starts accepting connections
  • First Request = HTTP server returns successful response
  • Cold = Fresh build (no cache)
  • Warm = With cached build artifacts

Build Metrics:

  • Fresh = Clean build (no .next directory)
  • Cached = With existing .next directory

Change Thresholds:

  • Time: Changes < 50ms AND < 10%, OR < 2% are insignificant
  • Size: Changes < 1KB AND < 1% are insignificant
  • All other changes are flagged to catch regressions

⚡ Dev Server

Metric Canary PR Change Trend
Cold (Listen) 455ms 456ms ▁█▁▁▁
Cold (Ready in log) 446ms 444ms ▁█▁▁▁
Cold (First Request) 823ms 817ms ▂█▂▂▂
Warm (Listen) 456ms 456ms ▁█▁▁▁
Warm (Ready in log) 447ms 443ms ▁█▁▁▁
Warm (First Request) 347ms 343ms ▁█▁▁▁
📦 Dev Server (Webpack) (Legacy)

📦 Dev Server (Webpack)

Metric Canary PR Change Trend
Cold (Listen) 455ms 455ms ▁▁▁▁▁
Cold (Ready in log) 439ms 438ms ▁▁▁▁▁
Cold (First Request) 1.943s 1.951s ▂▂▁▁▂
Warm (Listen) 456ms 456ms ▁▁▁▁▁
Warm (Ready in log) 438ms 438ms ▁▁▁▁▁
Warm (First Request) 1.988s 1.957s ▂▃▁▁▂

⚡ Production Builds

Metric Canary PR Change Trend
Fresh Build 3.876s 3.893s ▁█▁▁▁
Cached Build 3.891s 3.902s ▁█▁▁▁
📦 Production Builds (Webpack) (Legacy)

📦 Production Builds (Webpack)

Metric Canary PR Change Trend
Fresh Build 14.419s 14.439s ▁▁▁▁▁
Cached Build 14.693s 14.688s ▁▁▁▁▁
node_modules Size 485 MB 485 MB █████
📦 Bundle Sizes

Bundle Sizes

⚡ Turbopack

Client

Main Bundles
Canary PR Change
02fkg8wfh0iju.js gzip 9.19 kB N/A -
050zwt5xh_0tx.js gzip 10.4 kB N/A -
063vbvjo7u7e8.js gzip 158 B N/A -
06rvbj82bhyo0.js gzip 13 kB N/A -
07yw__3003_xm.js gzip 65.7 kB N/A -
087fzjd-gvlzv.js gzip 450 B N/A -
0cz1d0mv5g_q7.js gzip 39.4 kB 39.4 kB
0ppxcl_z43mad.js gzip 8.52 kB N/A -
0qg1lr8r20scw.js gzip 156 B N/A -
0rkattk-3kkvr.js gzip 153 B N/A -
0vqyehczw0bwp.js gzip 160 B N/A -
14pqs7eg65c56.js gzip 156 B N/A -
19oha6-znmkcv.js gzip 8.55 kB N/A -
1elt1qium-r2m.css gzip 115 B 115 B
1yib9gzpx36gi.js gzip 155 B N/A -
208uruj4wqqpw.js gzip 70.8 kB N/A -
219prxwxgaalc.js gzip 7.61 kB N/A -
26elcgxnn9zjd.js gzip 8.52 kB N/A -
2900hudr6gvm0.js gzip 2.28 kB N/A -
29r2bzwlwm21l.js gzip 154 B N/A -
2gnz9dbfjr975.js gzip 162 B N/A -
2ihlsvbo2c9e8.js gzip 215 B 215 B
2j_kfppl-1cp3.js gzip 157 B N/A -
2lv2js3kmdeho.js gzip 8.48 kB N/A -
2nukmhdm6gyau.js gzip 157 B N/A -
2rehygrd36hqv.js gzip 8.58 kB N/A -
2srwswih0m9_h.js gzip 13.3 kB N/A -
3_s5aieplqtws.js gzip 154 B N/A -
3-p9p9mheqhzx.js gzip 8.55 kB N/A -
31030bryqpolg.js gzip 8.53 kB N/A -
31dx5nmrzzuy7.js gzip 225 B N/A -
36nd-apogbbqe.js gzip 169 B N/A -
3925v09gtu-5k.js gzip 49 kB N/A -
3fe6y50a9d--i.js gzip 156 B N/A -
3iu80eefg23ae.js gzip 9.77 kB N/A -
3k-48b78ys_vy.js gzip 10.1 kB N/A -
3m7-5rfj0avoz.js gzip 12.9 kB N/A -
3uqce_6sa526g.js gzip 8.47 kB N/A -
3yurjqk-sjs3y.js gzip 1.46 kB N/A -
40ybjx9c192n0.js gzip 13.8 kB N/A -
421vzwdt9j1b_.js gzip 5.62 kB N/A -
turbopack-08..gje6.js gzip 4.16 kB N/A -
turbopack-10..smw6.js gzip 4.16 kB N/A -
turbopack-13..bb0b.js gzip 4.16 kB N/A -
turbopack-19..1dit.js gzip 4.18 kB N/A -
turbopack-1b..if1b.js gzip 4.16 kB N/A -
turbopack-1h..9z04.js gzip 4.16 kB N/A -
turbopack-1o..izbx.js gzip 4.16 kB N/A -
turbopack-2_..9umd.js gzip 4.16 kB N/A -
turbopack-2r..gs77.js gzip 4.16 kB N/A -
turbopack-2t..-5kt.js gzip 4.16 kB N/A -
turbopack-2t..1zwv.js gzip 4.14 kB N/A -
turbopack-2z..n4r1.js gzip 4.16 kB N/A -
turbopack-31..e90w.js gzip 4.16 kB N/A -
turbopack-3u..0v3s.js gzip 4.16 kB N/A -
0-5aww5s8x_4c.js gzip N/A 154 B -
03dgzoo-qf3sm.js gzip N/A 9.19 kB -
05tx5f25dlivn.js gzip N/A 8.53 kB -
09rf4j1ro1yml.js gzip N/A 156 B -
0b3-z6-abkv8c.js gzip N/A 159 B -
0c7ez6p2qc57f.js gzip N/A 5.62 kB -
0duvj3qk5pvgn.js gzip N/A 13.8 kB -
0m-34rm9w_wpm.js gzip N/A 7.6 kB -
0qnwuk92m8i7o.js gzip N/A 10.4 kB -
0r4wrn6n0ue2m.js gzip N/A 8.55 kB -
0rp0fodtbt_6m.js gzip N/A 8.52 kB -
0sfck-km4dl1k.js gzip N/A 8.47 kB -
0x0xuhmxzwkp8.js gzip N/A 8.47 kB -
0x93vydqfqy0v.js gzip N/A 154 B -
1-wdvgxnzicj7.js gzip N/A 1.46 kB -
10yjsdcxz7ich.js gzip N/A 155 B -
11u6nxujb2eg4.js gzip N/A 450 B -
1gx49oxm0e1hg.js gzip N/A 156 B -
1h0ck-wf-2dfg.js gzip N/A 156 B -
1hl9033tlykjp.js gzip N/A 167 B -
1jv-o1_s-zmua.js gzip N/A 49 kB -
1l9j1ozyt2nfx.js gzip N/A 155 B -
2--no0nct7d-w.js gzip N/A 157 B -
2ivx6ud_hd-nk.js gzip N/A 159 B -
2k9ax08cjl2id.js gzip N/A 12.9 kB -
2lms6k76q5-6m.js gzip N/A 13.3 kB -
2ny7v7wu25arp.js gzip N/A 153 B -
2q3hz-jtbjs52.js gzip N/A 9.77 kB -
2qx4twi9i3xus.js gzip N/A 2.28 kB -
2siv8yyxqvs94.js gzip N/A 70.8 kB -
2srnqic6tvxxd.js gzip N/A 8.52 kB -
30l7m4nayp73a.js gzip N/A 8.55 kB -
38rr7d3kfutni.js gzip N/A 13 kB -
3csncbmlwa_5a.js gzip N/A 153 B -
3h_ecpiaatwgc.js gzip N/A 10.1 kB -
3ity0aahajapd.js gzip N/A 225 B -
3ue2_111r24_h.js gzip N/A 65.7 kB -
43mlw9dy_8f02.js gzip N/A 8.58 kB -
turbopack-0i..3s73.js gzip N/A 4.16 kB -
turbopack-0k..w0kv.js gzip N/A 4.14 kB -
turbopack-0u..us5r.js gzip N/A 4.16 kB -
turbopack-1_..3ul8.js gzip N/A 4.16 kB -
turbopack-1-..1qqo.js gzip N/A 4.16 kB -
turbopack-1c..z9y9.js gzip N/A 4.16 kB -
turbopack-1o..4cca.js gzip N/A 4.16 kB -
turbopack-20..werk.js gzip N/A 4.16 kB -
turbopack-2f..nzkj.js gzip N/A 4.16 kB -
turbopack-2v..r4j6.js gzip N/A 4.16 kB -
turbopack-3-..cg2d.js gzip N/A 4.16 kB -
turbopack-34..479i.js gzip N/A 4.16 kB -
turbopack-3h.._01f.js gzip N/A 4.18 kB -
turbopack-3o..mus4.js gzip N/A 4.16 kB -
Total 464 kB 464 kB ✅ -35 B

Server

Middleware
Canary PR Change
middleware-b..fest.js gzip 720 B 718 B
Total 720 B 718 B ✅ -2 B
Build Details
Build Manifests
Canary PR Change
_buildManifest.js gzip 434 B 431 B
Total 434 B 431 B ✅ -3 B

📦 Webpack

Client

Main Bundles
Canary PR Change
5528-HASH.js gzip 5.54 kB N/A -
6280-HASH.js gzip 60.7 kB N/A -
6335.HASH.js gzip 169 B N/A -
912-HASH.js gzip 4.59 kB N/A -
e8aec2e4-HASH.js gzip 62.8 kB N/A -
framework-HASH.js gzip 59.7 kB 59.7 kB
main-app-HASH.js gzip 256 B 253 B 🟢 3 B (-1%)
main-HASH.js gzip 39.3 kB 39.2 kB
webpack-HASH.js gzip 1.68 kB 1.68 kB
262-HASH.js gzip N/A 4.59 kB -
2889.HASH.js gzip N/A 169 B -
5602-HASH.js gzip N/A 5.55 kB -
6948ada0-HASH.js gzip N/A 62.8 kB -
9544-HASH.js gzip N/A 61.4 kB -
Total 235 kB 235 kB ⚠️ +647 B
Polyfills
Canary PR Change
polyfills-HASH.js gzip 39.4 kB 39.4 kB
Total 39.4 kB 39.4 kB
Pages
Canary PR Change
_app-HASH.js gzip 194 B 194 B
_error-HASH.js gzip 183 B 180 B 🟢 3 B (-2%)
css-HASH.js gzip 331 B 330 B
dynamic-HASH.js gzip 1.81 kB 1.81 kB
edge-ssr-HASH.js gzip 256 B 256 B
head-HASH.js gzip 351 B 352 B
hooks-HASH.js gzip 384 B 383 B
image-HASH.js gzip 580 B 581 B
index-HASH.js gzip 260 B 260 B
link-HASH.js gzip 2.51 kB 2.51 kB
routerDirect..HASH.js gzip 320 B 319 B
script-HASH.js gzip 386 B 386 B
withRouter-HASH.js gzip 315 B 315 B
1afbb74e6ecf..834.css gzip 106 B 106 B
Total 7.98 kB 7.98 kB ✅ -1 B

Server

Edge SSR
Canary PR Change
edge-ssr.js gzip 125 kB 125 kB
page.js gzip 270 kB 270 kB
Total 395 kB 396 kB ⚠️ +187 B
Middleware
Canary PR Change
middleware-b..fest.js gzip 617 B 613 B
middleware-r..fest.js gzip 156 B 155 B
middleware.js gzip 44 kB 43.9 kB
edge-runtime..pack.js gzip 842 B 842 B
Total 45.6 kB 45.5 kB ✅ -153 B
Build Details
Build Manifests
Canary PR Change
_buildManifest.js gzip 715 B 718 B
Total 715 B 718 B ⚠️ +3 B
Build Cache
Canary PR Change
0.pack gzip 4.35 MB 4.34 MB 🟢 4.56 kB (0%)
index.pack gzip 111 kB 110 kB
index.pack.old gzip 110 kB 110 kB
Total 4.57 MB 4.57 MB ✅ -4.99 kB

🔄 Shared (bundler-independent)

Runtimes
Canary PR Change
app-page-exp...dev.js gzip 336 kB 336 kB
app-page-exp..prod.js gzip 186 kB 186 kB
app-page-tur...dev.js gzip 335 kB 335 kB
app-page-tur..prod.js gzip 185 kB 185 kB
app-page-tur...dev.js gzip 332 kB 332 kB
app-page-tur..prod.js gzip 183 kB 183 kB
app-page.run...dev.js gzip 332 kB 332 kB
app-page.run..prod.js gzip 184 kB 184 kB
app-route-ex...dev.js gzip 76.3 kB 76.3 kB
app-route-ex..prod.js gzip 51.9 kB 51.9 kB
app-route-tu...dev.js gzip 76.3 kB 76.3 kB
app-route-tu..prod.js gzip 51.9 kB 51.9 kB
app-route-tu...dev.js gzip 75.9 kB 75.9 kB
app-route-tu..prod.js gzip 51.7 kB 51.7 kB
app-route.ru...dev.js gzip 75.9 kB 75.9 kB
app-route.ru..prod.js gzip 51.7 kB 51.7 kB
dist_client_...dev.js gzip 324 B 324 B
dist_client_...dev.js gzip 326 B 326 B
dist_client_...dev.js gzip 318 B 318 B
dist_client_...dev.js gzip 317 B 317 B
pages-api-tu...dev.js gzip 43.5 kB 43.5 kB
pages-api-tu..prod.js gzip 33.1 kB 33.1 kB
pages-api.ru...dev.js gzip 43.5 kB 43.5 kB
pages-api.ru..prod.js gzip 33.1 kB 33.1 kB
pages-turbo....dev.js gzip 52.9 kB 52.9 kB
pages-turbo...prod.js gzip 38.7 kB 38.7 kB
pages.runtim...dev.js gzip 52.9 kB 52.9 kB
pages.runtim..prod.js gzip 38.7 kB 38.7 kB
server.runti..prod.js gzip 62.5 kB 62.5 kB
Total 2.99 MB 2.99 MB ✅ -2 B
📎 Tarball URL
https://vercel-packages.vercel.app/next/commits/a203169507f03bc7f47c7ed364ce758e31f4c696/next

@eps1lon eps1lon force-pushed the sebbie/test-env-app-dir branch 2 times, most recently from 8b10036 to 972b9e4 Compare March 31, 2026 15:13
@vercel vercel deleted a comment from nextjs-bot Mar 31, 2026
@eps1lon eps1lon force-pushed the sebbie/test-env-app-dir branch 2 times, most recently from 6382ef6 to bb97bc2 Compare March 31, 2026 16:10
@nextjs-bot
Copy link
Copy Markdown
Contributor

nextjs-bot commented Mar 31, 2026

Failing test suites

Commit: a203169 | About building and testing Next.js

pnpm test-dev test/development/app-dir/instant-navs-devtools/instant-navs-devtools.test.ts (job)

  • instant-nav-panel > should show loading skeleton during SPA navigation after clicking Start (DD)
Expand output

● instant-nav-panel › should show loading skeleton during SPA navigation after clicking Start

expect(received).toBe(expected) // Object.is equality

Expected: true
Received: false

  164 |           '[data-testid="dynamic-skeleton"]'
  165 |         )
> 166 |         expect(skeleton).toBe(true)
      |                          ^
  167 |       },
  168 |       30000,
  169 |       500

  at toBe (development/app-dir/instant-navs-devtools/instant-navs-devtools.test.ts:166:26)
  at retry (lib/next-test-utils.ts:861:14)
  at Object.<anonymous> (development/app-dir/instant-navs-devtools/instant-navs-devtools.test.ts:161:5)

pnpm test-dev-turbo test/e2e/app-dir/interception-dynamic-single-segment/interception-dynamic-single-segment.test.ts (turbopack) (job)

  • interception-dynamic-single-segment > should intercept with consecutive dynamic segments (DD)
Expand output

● interception-dynamic-single-segment › should intercept with consecutive dynamic segments

expect(received).toContain(expected) // indexOf

Expected substring: "Modal: Item for path x/y/z"
Received string:    "default"

  161 |     await retry(async () => {
  162 |       const modalText = await browser.elementById('modal').text()
> 163 |       expect(modalText).toContain('Modal: Item for path x/y/z')
      |                         ^
  164 |     })
  165 |
  166 |     // The children should still show the consecutive page

  at toContain (e2e/app-dir/interception-dynamic-single-segment/interception-dynamic-single-segment.test.ts:163:25)
  at retry (lib/next-test-utils.ts:861:14)
  at Object.<anonymous> (e2e/app-dir/interception-dynamic-single-segment/interception-dynamic-single-segment.test.ts:161:5)

pnpm test-dev-turbo test/development/basic/allowed-dev-origins.test.ts (turbopack) (job)

  • allowed-dev-origins, basePath: "" > configured allowed origins > should block no-cors requests without a referer even when origins are configured (DD)
  • allowed-dev-origins, basePath: "/docs" > configured allowed origins > should block no-cors requests without a referer even when origins are configured (DD)
Expand output

● allowed-dev-origins, basePath: "" › configured allowed origins › should block no-cors requests without a referer even when origins are configured

expect(received).toContain(expected) // indexOf

Expected substring: "/_next/static/chunks/pages/_app.js"
Received string:    "▲ Next.js 16.2.1-canary.14 (Turbopack)
- Local:         http://localhost:34005
- Network:       http://65.21.20.217:34005
✓ Ready in 1150ms
Creating turbopack project {
  dir: '/tmp/next-install-086d4ce49a0d807088b3b06ffa51d8d94b8e38ffbd79da7598eea2070ccf2385',
  testMode: true
}
- Experiments (use with caution):
  ✓ strictRouteTypes (enabled by `__NEXT_EXPERIMENTAL_STRICT_ROUTE_TYPES`)·
 GET /404 404 in 2.4s (next.js: 2.3s, application-code: 81ms)
"

  89 |   }
  90 | ) {
> 91 |   expect(output).toContain(options.resourcePath)
     |                  ^
  92 |   expect(output).toContain(
  93 |     'Cross-origin access to Next.js dev resources is blocked by default for safety.'
  94 |   )

  at toContain (development/basic/allowed-dev-origins.test.ts:91:18)
  at Object.expectBlockedDevResourceMessage (development/basic/allowed-dev-origins.test.ts:414:9)

● allowed-dev-origins, basePath: "/docs" › configured allowed origins › should block no-cors requests without a referer even when origins are configured

expect(received).toContain(expected) // indexOf

Expected substring: "/docs/_next/static/chunks/pages/_app.js"
Received string:    "▲ Next.js 16.2.1-canary.14 (Turbopack)
- Local:         http://localhost:44199
- Network:       http://65.21.20.217:44199
✓ Ready in 824ms
Creating turbopack project {
  dir: '/tmp/next-install-4064aefb6ec9c971217c0ce60173e2562f9631db97dc2b1bfc0278f72ffe8c96',
  testMode: true
}
- Experiments (use with caution):
  ✓ strictRouteTypes (enabled by `__NEXT_EXPERIMENTAL_STRICT_ROUTE_TYPES`)·
 GET /404 404 in 2.7s (next.js: 2.6s, application-code: 94ms)
"

  89 |   }
  90 | ) {
> 91 |   expect(output).toContain(options.resourcePath)
     |                  ^
  92 |   expect(output).toContain(
  93 |     'Cross-origin access to Next.js dev resources is blocked by default for safety.'
  94 |   )

  at toContain (development/basic/allowed-dev-origins.test.ts:91:18)
  at Object.expectBlockedDevResourceMessage (development/basic/allowed-dev-origins.test.ts:414:9)

@eps1lon eps1lon force-pushed the sebbie/test-env-app-dir branch from bb97bc2 to a203169 Compare March 31, 2026 16:31
@nextjs-bot
Copy link
Copy Markdown
Contributor

nextjs-bot commented Mar 31, 2026

Failing test suites

Commit: a203169 | About building and testing Next.js

pnpm test-dev-turbo test/development/app-dir/instant-navs-devtools/instant-navs-devtools.test.ts (turbopack) (job)

  • instant-nav-panel > should show loading skeleton during SPA navigation after clicking Start (DD)
Expand output

● instant-nav-panel › should show loading skeleton during SPA navigation after clicking Start

expect(received).toBe(expected) // Object.is equality

Expected: true
Received: false

  164 |           '[data-testid="dynamic-skeleton"]'
  165 |         )
> 166 |         expect(skeleton).toBe(true)
      |                          ^
  167 |       },
  168 |       30000,
  169 |       500

  at toBe (development/app-dir/instant-navs-devtools/instant-navs-devtools.test.ts:166:26)
  at retry (lib/next-test-utils.ts:861:14)
  at Object.<anonymous> (development/app-dir/instant-navs-devtools/instant-navs-devtools.test.ts:161:5)

pnpm test-deploy test/e2e/app-dir/app-env-config/app-env-config.test.ts (job)

  • app-dir env-config > should provide env for static server component (DD)
  • app-dir env-config > should provide env correctly for dynamic server component (DD)
  • app-dir env-config > should provide env correctly for route handlers (DD)
  • app-dir env-config > should load env from .env (DD)
  • app-dir env-config > should use a consistent value across static, dynamic, and cached environments (DD)
Expand output

● app-dir env-config › should provide env for static server component

expect(received).toBe(expected) // Object.is equality

Expected: "localenv"
Received: undefined

  25 |   const checkEnvData = (data: Record<string, string | undefined>) => {
  26 |     expect(data.ENV_FILE_KEY).toBe('env')
> 27 |     expect(data.LOCAL_ENV_FILE_KEY).toBe('localenv')
     |                                     ^
  28 |     expect(data.DEVELOPMENT_ENV_FILE_KEY).toBe(
  29 |       isNextDev ? 'development' : undefined
  30 |     )

  at toBe (e2e/app-dir/app-env-config/app-env-config.test.ts:27:37)
  at Object.checkEnvData (e2e/app-dir/app-env-config/app-env-config.test.ts:79:5)

● app-dir env-config › should provide env correctly for dynamic server component

expect(received).toBe(expected) // Object.is equality

Expected: "env"
Received: undefined

  24 |
  25 |   const checkEnvData = (data: Record<string, string | undefined>) => {
> 26 |     expect(data.ENV_FILE_KEY).toBe('env')
     |                               ^
  27 |     expect(data.LOCAL_ENV_FILE_KEY).toBe('localenv')
  28 |     expect(data.DEVELOPMENT_ENV_FILE_KEY).toBe(
  29 |       isNextDev ? 'development' : undefined

  at toBe (e2e/app-dir/app-env-config/app-env-config.test.ts:26:31)
  at checkEnvData (e2e/app-dir/app-env-config/app-env-config.test.ts:87:7)
  at fn (lib/next-test-utils.ts:861:20)
  at Object.<anonymous> (e2e/app-dir/app-env-config/app-env-config.test.ts:86:5)

● app-dir env-config › should provide env correctly for route handlers

expect(received).toBe(expected) // Object.is equality

Expected: "localenv"
Received: undefined

  25 |   const checkEnvData = (data: Record<string, string | undefined>) => {
  26 |     expect(data.ENV_FILE_KEY).toBe('env')
> 27 |     expect(data.LOCAL_ENV_FILE_KEY).toBe('localenv')
     |                                     ^
  28 |     expect(data.DEVELOPMENT_ENV_FILE_KEY).toBe(
  29 |       isNextDev ? 'development' : undefined
  30 |     )

  at toBe (e2e/app-dir/app-env-config/app-env-config.test.ts:27:37)
  at Object.checkEnvData (e2e/app-dir/app-env-config/app-env-config.test.ts:93:5)

● app-dir env-config › should load env from .env

expect(received).toEqual(expected) // deep equality

Expected: "env"
Received: undefined

   99 |     // content streams in
  100 |     await retry(() => {
> 101 |       expect(data.ENV_FILE_KEY).toEqual('env')
      |                                 ^
  102 |     })
  103 |     expect(data.ENV_FILE_DEVELOPMENT_OVERRIDE_TEST).toEqual(
  104 |       isNextDev ? 'development' : 'env'

  at toEqual (e2e/app-dir/app-env-config/app-env-config.test.ts:101:33)
  at fn (lib/next-test-utils.ts:861:20)
  at Object.<anonymous> (e2e/app-dir/app-env-config/app-env-config.test.ts:100:5)

● app-dir env-config › should use a consistent value across static, dynamic, and cached environments

expect(received).toEqual(expected) // deep equality

- Expected  - 2
+ Received  + 2

- static ENV_FILE_KEY: env
+ static ENV_FILE_KEY: undefined
- dynamic ENV_FILE_KEY: env
+ dynamic ENV_FILE_KEY: undefined
  cached ENV_FILE_KEY: env

  133 |         .elementByCssInstant('[data-testid="inspect-env"]')
  134 |         .text()
> 135 |       expect(text).toEqual(
      |                    ^
  136 |         outdent`
  137 |           static ENV_FILE_KEY: env
  138 |           dynamic ENV_FILE_KEY: env

  at toEqual (e2e/app-dir/app-env-config/app-env-config.test.ts:135:20)
  at retry (lib/next-test-utils.ts:861:14)
  at Object.<anonymous> (e2e/app-dir/app-env-config/app-env-config.test.ts:131:5)

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

Labels

created-by: Next.js team PRs by the Next.js team. tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants