mirror of
https://github.com/withastro/astro.git
synced 2024-12-23 21:53:55 -05:00
58 lines
1.3 KiB
JavaScript
58 lines
1.3 KiB
JavaScript
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',
|
|
},
|
|
]);
|
|
});
|
|
});
|