diff options
Diffstat (limited to 'packages/astro/test/astro-preview-headers.test.js')
-rw-r--r-- | packages/astro/test/astro-preview-headers.test.js | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/packages/astro/test/astro-preview-headers.test.js b/packages/astro/test/astro-preview-headers.test.js new file mode 100644 index 000000000..ef05399de --- /dev/null +++ b/packages/astro/test/astro-preview-headers.test.js @@ -0,0 +1,40 @@ +import { expect } from 'chai'; +import { loadFixture } from './test-utils.js'; + +describe('Astro preview headers', () => { + let fixture; + let previewServer; + const headers = { + astro: 'test', + }; + + before(async () => { + fixture = await loadFixture({ + root: './fixtures/astro-preview-headers/', + server: { + headers, + }, + }); + await fixture.build(); + previewServer = await fixture.preview(); + }); + + // important: close preview server (free up port and connection) + after(async () => { + await previewServer.stop(); + }); + + describe('preview', () => { + it('returns custom headers for valid URLs', async () => { + const result = await fixture.fetch('/'); + expect(result.status).to.equal(200); + expect(Object.fromEntries(result.headers)).to.include(headers); + }); + + it('does not return custom headers for invalid URLs', async () => { + const result = await fixture.fetch('/bad-url'); + expect(result.status).to.equal(404); + expect(Object.fromEntries(result.headers)).not.to.include(headers); + }); + }); +}); |