diff options
author | 2024-08-29 07:37:24 +0200 | |
---|---|---|
committer | 2024-08-29 07:46:34 +0200 | |
commit | c1f560dcd90a262a103b8644b1e2eb8da87f2e3a (patch) | |
tree | d8f984474569500beac2adc0c9ea0781bd3f5f47 /packages/integrations/vercel/test/serverless-prerender.test.js | |
parent | 93a1db68cd9cf3bb2a4d9f7a8af13cbd881eb701 (diff) | |
parent | 9543bdca342bf68d6db705b11c8201d3374ccbe0 (diff) | |
download | astro-c1f560dcd90a262a103b8644b1e2eb8da87f2e3a.tar.gz astro-c1f560dcd90a262a103b8644b1e2eb8da87f2e3a.tar.zst astro-c1f560dcd90a262a103b8644b1e2eb8da87f2e3a.zip |
Merge branch 'vercel' into main
Diffstat (limited to 'packages/integrations/vercel/test/serverless-prerender.test.js')
-rw-r--r-- | packages/integrations/vercel/test/serverless-prerender.test.js | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/packages/integrations/vercel/test/serverless-prerender.test.js b/packages/integrations/vercel/test/serverless-prerender.test.js new file mode 100644 index 000000000..61e239300 --- /dev/null +++ b/packages/integrations/vercel/test/serverless-prerender.test.js @@ -0,0 +1,55 @@ +import assert from 'node:assert/strict'; +import { before, describe, it } from 'node:test'; +import { loadFixture } from './test-utils.js'; + +describe('Serverless prerender', () => { + /** @type {import('./test-utils').Fixture} */ + let fixture; + + before(async () => { + process.env.PRERENDER = true; + fixture = await loadFixture({ + root: './fixtures/serverless-prerender/', + }); + await fixture.build(); + }); + + it('build successful', async () => { + assert.ok(await fixture.readFile('../.vercel/output/static/index.html')); + }); + + it('outDir is tree-shaken if not needed', async () => { + const [file] = await fixture.glob( + '../.vercel/output/functions/_render.func/packages/integrations/vercel/test/fixtures/serverless-prerender/.vercel/output/_functions/pages/_image.astro.mjs', + ); + const contents = await fixture.readFile(file); + assert.ok(!contents.includes('const outDir ='), "outDir is tree-shaken if it's not imported"); + }); + + // TODO: The path here seems to be inconsistent? + it.skip('includeFiles work', async () => { + assert.ok( + await fixture.readFile( + '../.vercel/output/functions/render.func/packages/integrations/vercel/test/fixtures/serverless-prerender/dist/middleware.mjs', + ), + ); + }); +}); + +describe('Serverless hybrid rendering', () => { + /** @type {import('./test-utils').Fixture} */ + let fixture; + + before(async () => { + process.env.PRERENDER = true; + fixture = await loadFixture({ + root: './fixtures/serverless-prerender/', + output: 'hybrid', + }); + await fixture.build(); + }); + + it('build successful', async () => { + assert.ok(await fixture.readFile('../.vercel/output/static/index.html')); + }); +}); |