diff --git a/test/e2e/app-dir/app/app/hooks/use-headers/page.server.js b/test/e2e/app-dir/app/app/hooks/use-headers/page.server.js index bd2b1153eba85..2c73997ad4da4 100644 --- a/test/e2e/app-dir/app/app/hooks/use-headers/page.server.js +++ b/test/e2e/app-dir/app/app/hooks/use-headers/page.server.js @@ -14,6 +14,9 @@ export default function Page() { ) : (

Does not have x-use-headers header

)} + {'referer' in headers && headers['referer'] && ( +

Has referer header

+ )} ) } diff --git a/test/e2e/app-dir/app/app/navigation/page.server.js b/test/e2e/app-dir/app/app/navigation/page.server.js index 530c168241265..1e53433733bbb 100644 --- a/test/e2e/app-dir/app/app/navigation/page.server.js +++ b/test/e2e/app-dir/app/app/navigation/page.server.js @@ -1,10 +1,17 @@ import { nanoid } from 'nanoid' +import Link from 'next/link' export default function Page() { return ( <>

{nanoid()}

hello from /navigation

+ + useCookies + + + useHeaders + ) } diff --git a/test/e2e/app-dir/index.test.ts b/test/e2e/app-dir/index.test.ts index 9bb53f518bce3..22177cec327c2 100644 --- a/test/e2e/app-dir/index.test.ts +++ b/test/e2e/app-dir/index.test.ts @@ -694,6 +694,39 @@ describe('app dir', () => { await browser.close() } }) + + it('should access cookies on navigation', async () => { + const browser = await webdriver(next.url, '/navigation') + + try { + // Click the cookies link to verify it can't see the cookie that's + // not there. + await browser.elementById('use-cookies').click() + await browser.waitForElementByCss('#does-not-have-cookie') + + // Go back and add the cookies. + await browser.back() + await browser.waitForElementByCss('#from-navigation') + browser.addCookie({ name: 'use-cookies', value: 'value' }) + + // Click the cookies link again to see that the cookie can be picked + // up again. + await browser.elementById('use-cookies').click() + await browser.waitForElementByCss('#has-cookie') + + // Go back and remove the cookies. + await browser.back() + await browser.waitForElementByCss('#from-navigation') + browser.deleteCookies() + + // Verify for the last time that after clicking the cookie link + // again, there are no cookies. + await browser.elementById('use-cookies').click() + await browser.waitForElementByCss('#does-not-have-cookie') + } finally { + await browser.close() + } + }) }) describe('useHeaders', () => { @@ -720,6 +753,17 @@ describe('app dir', () => { expect($('#has-header').length).toBe(1) expect($('#does-not-have-header').length).toBe(0) }) + + it('should access headers on navigation', async () => { + const browser = await webdriver(next.url, '/navigation') + + try { + await browser.elementById('use-headers').click() + await browser.waitForElementByCss('#has-referer') + } finally { + await browser.close() + } + }) }) describe('usePreviewData', () => {