diff --git a/test/development/acceptance-app/ReactRefreshLogBox.test.ts b/test/development/acceptance-app/ReactRefreshLogBox.test.ts index 6e73c94dfa90..4cf40e3540af 100644 --- a/test/development/acceptance-app/ReactRefreshLogBox.test.ts +++ b/test/development/acceptance-app/ReactRefreshLogBox.test.ts @@ -1153,4 +1153,52 @@ describe('ReactRefreshLogBox app', () => { await cleanup() }) + + test('Server component errors should open up in fullscreen', async () => { + const { session, browser, cleanup } = await sandbox( + next, + new Map([ + // Start with error + [ + 'app/page.js', + ` + export default function Page() { + throw new Error('Server component error') + return

Hello world

+ } + `, + ], + ]) + ) + expect(await session.hasRedbox(true)).toBe(true) + + // Remove error + await next.patchFile( + 'app/page.js', + ` + export default function Page() { + return

Hello world

+ } + ` + ) + expect(await browser.waitForElementByCss('#text').text()).toBe( + 'Hello world' + ) + expect(await session.hasRedbox()).toBe(false) + + // Re-add error + await next.patchFile( + 'app/page.js', + ` + export default function Page() { + throw new Error('Server component error!') + return

Hello world

+ } + ` + ) + + expect(await session.hasRedbox(true)).toBe(true) + + await cleanup() + }) })