1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
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: '^/excluded(?:/(.*?))?$',
dest: '_render',
},
{
src: '^/api/([^/]+?)$',
dest: '_render',
},
{
src: '^/api$',
dest: '_render',
},
{
src: '^/_server-islands/([^/]+?)/?$',
dest: '_render',
},
{
src: '^/_image/?$',
dest: '_render',
},
{
src: '^/one/?$',
dest: '/_isr?x_astro_path=$0',
},
]);
});
});
|