aboutsummaryrefslogtreecommitdiff
path: root/packages/astro/test/ssr-response.test.js
diff options
context:
space:
mode:
Diffstat (limited to 'packages/astro/test/ssr-response.test.js')
-rw-r--r--packages/astro/test/ssr-response.test.js50
1 files changed, 50 insertions, 0 deletions
diff --git a/packages/astro/test/ssr-response.test.js b/packages/astro/test/ssr-response.test.js
new file mode 100644
index 000000000..c3ddb2744
--- /dev/null
+++ b/packages/astro/test/ssr-response.test.js
@@ -0,0 +1,50 @@
+import assert from 'node:assert/strict';
+import { before, describe, it } from 'node:test';
+import testAdapter from './test-adapter.js';
+import { loadFixture } from './test-utils.js';
+
+describe('Using Astro.response in SSR', () => {
+ /** @type {import('./test-utils').Fixture} */
+ let fixture;
+
+ before(async () => {
+ fixture = await loadFixture({
+ root: './fixtures/ssr-response/',
+ adapter: testAdapter(),
+ output: 'server',
+ });
+ await fixture.build();
+ });
+
+ it('Can set the status', async () => {
+ const app = await fixture.loadTestAdapterApp();
+ const request = new Request('http://example.com/status-code');
+ const response = await app.render(request);
+ assert.equal(response.status, 404);
+ });
+
+ it('Can set the statusText', async () => {
+ const app = await fixture.loadTestAdapterApp();
+ const request = new Request('http://example.com/status-code');
+ const response = await app.render(request);
+ assert.equal(response.statusText, 'Oops');
+ });
+
+ it('Can set headers for 404 page', async () => {
+ const app = await fixture.loadTestAdapterApp();
+ const request = new Request('http://example.com/status-code');
+ const response = await app.render(request);
+ const headers = response.headers;
+ assert.equal(headers.get('one-two'), 'three');
+ });
+
+ it('Can add headers', async () => {
+ const app = await fixture.loadTestAdapterApp();
+ const request = new Request('http://example.com/some-header');
+ const response = await app.render(request);
+ const headers = response.headers;
+ assert.equal(headers.get('one-two'), 'three');
+ assert.equal(headers.get('four-five'), 'six');
+ assert.equal(headers.get('Cache-Control'), `max-age=0, s-maxage=86400`);
+ });
+});