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 bd2b1153eba8..2c73997ad4da 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() {
) : (
)}
+ {'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 530c16824126..1e53433733bb 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
+
+
+
+
>
)
}
diff --git a/test/e2e/app-dir/index.test.ts b/test/e2e/app-dir/index.test.ts
index 9bb53f518bce..22177cec327c 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', () => {