From e0e9e08c97fa3f684ecac4eb34fd42e380cd6110 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hannes=20Born=C3=B6?= Date: Tue, 20 Dec 2022 13:18:24 +0100 Subject: [PATCH 1/2] Remove browser.refresh when moving from server -> client or client -> server --- .../ReactRefreshRegression.test.ts | 19 +++++-------------- .../acceptance-app/server-components.test.ts | 9 --------- 2 files changed, 5 insertions(+), 23 deletions(-) diff --git a/test/development/acceptance-app/ReactRefreshRegression.test.ts b/test/development/acceptance-app/ReactRefreshRegression.test.ts index 9e485359636c..216047ee3516 100644 --- a/test/development/acceptance-app/ReactRefreshRegression.test.ts +++ b/test/development/acceptance-app/ReactRefreshRegression.test.ts @@ -145,8 +145,7 @@ describe('ReactRefreshRegression app', () => { }) // https://github.com/vercel/next.js/issues/13978 - // TODO-APP: fix case where server component is moved to a client component - test.skip('can fast refresh a page with dynamic rendering', async () => { + test('can fast refresh a page with dynamic rendering', async () => { const { session, cleanup } = await sandbox(next) await session.patch( @@ -216,8 +215,7 @@ describe('ReactRefreshRegression app', () => { }) // https://github.com/vercel/next.js/issues/13978 - // TODO-APP: fix case where server component is moved to a client component - test.skip('can fast refresh a page with config', async () => { + test('can fast refresh a page with config', async () => { const { session, cleanup } = await sandbox(next) await session.patch( @@ -264,17 +262,14 @@ describe('ReactRefreshRegression app', () => { }) // https://github.com/vercel/next.js/issues/11504 - // TODO-APP: fix case where error is not resolved to source correctly. test('shows an overlay for anonymous function server-side error', async () => { - const { session, browser, cleanup } = await sandbox(next) + const { session, cleanup } = await sandbox(next) await session.patch( 'app/page.js', `export default function () { throw new Error('boom'); }` ) - await browser.refresh() - expect(await session.hasRedbox(true)).toBe(true) const source = await session.getRedboxSource() @@ -287,15 +282,13 @@ describe('ReactRefreshRegression app', () => { }) test('shows an overlay for server-side error in server component', async () => { - const { session, browser, cleanup } = await sandbox(next) + const { session, cleanup } = await sandbox(next) await session.patch( 'app/page.js', `export default function Page() { throw new Error('boom'); }` ) - await browser.refresh() - expect(await session.hasRedbox(true)).toBe(true) const source = await session.getRedboxSource() @@ -308,7 +301,7 @@ describe('ReactRefreshRegression app', () => { }) test('shows an overlay for server-side error in client component', async () => { - const { session, browser, cleanup } = await sandbox(next) + const { session, cleanup } = await sandbox(next) await session.patch( 'app/page.js', @@ -316,8 +309,6 @@ describe('ReactRefreshRegression app', () => { export default function Page() { throw new Error('boom'); }` ) - await browser.refresh() - expect(await session.hasRedbox(true)).toBe(true) const source = await session.getRedboxSource() diff --git a/test/development/acceptance-app/server-components.test.ts b/test/development/acceptance-app/server-components.test.ts index 3e086ee44af7..9f7e8917fd94 100644 --- a/test/development/acceptance-app/server-components.test.ts +++ b/test/development/acceptance-app/server-components.test.ts @@ -43,9 +43,6 @@ describe('Error Overlay for server components', () => { ]) ) - // TODO-APP: currently requires a full reload because moving from a client component to a server component isn't causing a Fast Refresh yet. - await browser.refresh() - expect(await session.hasRedbox(true)).toBe(true) await check(async () => { expect(await session.getRedboxSource(true)).toContain( @@ -97,9 +94,6 @@ describe('Error Overlay for server components', () => { ]) ) - // TODO-APP: currently requires a full reload because moving from a client component to a server component isn't causing a Fast Refresh yet. - await browser.refresh() - expect(await session.hasRedbox(true)).toBe(true) await check(async () => { @@ -153,9 +147,6 @@ describe('Error Overlay for server components', () => { ]) ) - // TODO-APP: currently requires a full reload because moving from a client component to a server component isn't causing a Fast Refresh yet. - await browser.refresh() - expect(await session.hasRedbox(true)).toBe(true) await check(async () => { From 81237a290fc2a04749a3ec007c7b918526dc98c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hannes=20Born=C3=B6?= Date: Tue, 20 Dec 2022 13:33:11 +0100 Subject: [PATCH 2/2] fix lint --- test/development/acceptance-app/server-components.test.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/development/acceptance-app/server-components.test.ts b/test/development/acceptance-app/server-components.test.ts index 9f7e8917fd94..55a34a344f06 100644 --- a/test/development/acceptance-app/server-components.test.ts +++ b/test/development/acceptance-app/server-components.test.ts @@ -22,7 +22,7 @@ describe('Error Overlay for server components', () => { describe('createContext called in Server Component', () => { it('should show error when React.createContext is called', async () => { - const { session, browser, cleanup } = await sandbox( + const { session, cleanup } = await sandbox( next, new Map([ [ @@ -58,7 +58,7 @@ describe('Error Overlay for server components', () => { }) it('should show error when React.createContext is called in external package', async () => { - const { session, browser, cleanup } = await sandbox( + const { session, cleanup } = await sandbox( next, new Map([ [ @@ -111,7 +111,7 @@ describe('Error Overlay for server components', () => { }) it('should show error when createContext is called in external package', async () => { - const { session, browser, cleanup } = await sandbox( + const { session, cleanup } = await sandbox( next, new Map([ [