diff options
author | 2025-02-06 13:14:31 +0000 | |
---|---|---|
committer | 2025-02-06 13:14:31 +0000 | |
commit | 64c9a1e23a3baa1c3f61f2f8483a3ad908881acc (patch) | |
tree | b33e28638370bd36510f49718c82a0251bfad460 /packages/integrations/netlify/test/functions/cookies.test.js | |
parent | bba875a16c6d9c1c0ccd3956a52dc9d942918013 (diff) | |
parent | c16cca69a85e282605325ac049ec28eed202b923 (diff) | |
download | astro-64c9a1e23a3baa1c3f61f2f8483a3ad908881acc.tar.gz astro-64c9a1e23a3baa1c3f61f2f8483a3ad908881acc.tar.zst astro-64c9a1e23a3baa1c3f61f2f8483a3ad908881acc.zip |
Merge branch 'main' of ../../temp/adapters into move-netlify
Diffstat (limited to 'packages/integrations/netlify/test/functions/cookies.test.js')
-rw-r--r-- | packages/integrations/netlify/test/functions/cookies.test.js | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/packages/integrations/netlify/test/functions/cookies.test.js b/packages/integrations/netlify/test/functions/cookies.test.js new file mode 100644 index 000000000..e848f6ac3 --- /dev/null +++ b/packages/integrations/netlify/test/functions/cookies.test.js @@ -0,0 +1,53 @@ +import * as assert from 'node:assert/strict'; +import { before, describe, it } from 'node:test'; +import { loadFixture } from '@astrojs/test-utils'; + +describe( + 'Cookies', + () => { + let fixture; + + before(async () => { + fixture = await loadFixture({ root: new URL('./fixtures/cookies/', import.meta.url) }); + await fixture.build(); + }); + + it('Can set multiple', async () => { + const entryURL = new URL( + './fixtures/cookies/.netlify/v1/functions/ssr/ssr.mjs', + import.meta.url + ); + const { default: handler } = await import(entryURL); + const resp = await handler( + new Request('http://example.com/login', { method: 'POST', body: '{}' }), + {} + ); + assert.equal(resp.status, 301); + assert.equal(resp.headers.get('location'), '/'); + assert.deepEqual(resp.headers.getSetCookie(), ['foo=foo; HttpOnly', 'bar=bar; HttpOnly']); + }); + + it('renders dynamic 404 page', async () => { + const entryURL = new URL( + './fixtures/cookies/.netlify/v1/functions/ssr/ssr.mjs', + import.meta.url + ); + const { default: handler } = await import(entryURL); + const resp = await handler( + new Request('http://example.com/nonexistant-page', { + headers: { + 'x-test': 'bar', + }, + }), + {} + ); + assert.equal(resp.status, 404); + const text = await resp.text(); + assert.equal(text.includes('This is my custom 404 page'), true); + assert.equal(text.includes('x-test: bar'), true); + }); + }, + { + timeout: 120000, + } +); |