From aacb1df138dd08495107cc9a2f5e6cbea1d06c2d Mon Sep 17 00:00:00 2001 From: Tim Neutkens Date: Thu, 8 Sep 2022 14:21:56 +0200 Subject: [PATCH] Add test for hydrating ssr error --- .../error/ssr-error-client-component/page.client.js | 3 +++ test/e2e/app-dir/index.test.ts | 13 +++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 test/e2e/app-dir/app/app/error/ssr-error-client-component/page.client.js diff --git a/test/e2e/app-dir/app/app/error/ssr-error-client-component/page.client.js b/test/e2e/app-dir/app/app/error/ssr-error-client-component/page.client.js new file mode 100644 index 000000000000..1cca8f6810c8 --- /dev/null +++ b/test/e2e/app-dir/app/app/error/ssr-error-client-component/page.client.js @@ -0,0 +1,3 @@ +export default function Page() { + throw new Error('Error during SSR') +} diff --git a/test/e2e/app-dir/index.test.ts b/test/e2e/app-dir/index.test.ts index 6399ab20cf88..1413f3770128 100644 --- a/test/e2e/app-dir/index.test.ts +++ b/test/e2e/app-dir/index.test.ts @@ -1280,6 +1280,19 @@ describe('app dir', () => { ).toBe('Trigger Error!') } }) + + it('should hydrate empty shell to handle server-side rendering errors', async () => { + const browser = await webdriver( + next.url, + '/error/ssr-error-client-component' + ) + const logs = await browser.log() + const errors = logs + .filter((x) => x.source === 'error') + .map((x) => x.message) + .join('\n') + expect(errors).toInclude('Error during SSR') + }) }) }