import assert from 'node:assert/strict'; import { before, describe, it } from 'node:test'; import { loadFixture } from './test-utils.js'; describe('ISR', () => { /** @type {import('./test-utils.js').Fixture} */ let fixture; before(async () => { fixture = await loadFixture({ root: './fixtures/isr/', }); await fixture.build(); }); it('generates expected prerender config', async () => { const vcConfig = JSON.parse( await fixture.readFile('../.vercel/output/functions/_isr.prerender-config.json') ); assert.deepEqual(vcConfig, { expiration: 120, bypassToken: '1c9e601d-9943-4e7c-9575-005556d774a8', allowQuery: ['x_astro_path'], passQuery: true, }); }); it('generates expected routes', async () => { const deploymentConfig = JSON.parse(await fixture.readFile('../.vercel/output/config.json')); // the first two are /_astro/*, and filesystem routes assert.deepEqual(deploymentConfig.routes.slice(2), [ { src: '^/two$', dest: '_render', }, { src: '^/excluded/([^/]+?)$', dest: '_render', }, { src: '^\\/_image$', dest: '_render', }, { src: '^\\/excluded\\/([^/]+?)\\/?$', dest: '/_isr?x_astro_path=$0', }, { src: '^\\/one\\/?$', dest: '/_isr?x_astro_path=$0', }, { src: '^\\/two\\/?$', dest: '/_isr?x_astro_path=$0', }, ]); }); });