2024-02-13 08:23:07 -05:00
|
|
|
import assert from 'node:assert/strict';
|
|
|
|
import { before, describe, it } from 'node:test';
|
2023-06-29 15:18:28 -05:00
|
|
|
import { loadFixture } from './test-utils.js';
|
|
|
|
|
|
|
|
describe('build: split', () => {
|
|
|
|
/** @type {import('./test-utils').Fixture} */
|
|
|
|
let fixture;
|
|
|
|
|
|
|
|
before(async () => {
|
|
|
|
fixture = await loadFixture({
|
2023-07-28 04:11:13 -05:00
|
|
|
root: './fixtures/functionPerRoute/',
|
2023-06-29 15:18:28 -05:00
|
|
|
output: 'server',
|
|
|
|
});
|
|
|
|
await fixture.build();
|
|
|
|
});
|
|
|
|
|
2024-02-26 08:28:49 -05:00
|
|
|
it('creates separate functions for non-prerendered pages', async () => {
|
2023-06-29 15:21:41 -05:00
|
|
|
const files = await fixture.readdir('../.vercel/output/functions/');
|
2024-02-13 08:23:07 -05:00
|
|
|
assert.equal(files.length, 3);
|
2024-02-26 08:28:49 -05:00
|
|
|
assert.equal(files.includes('prerender.astro.func'), false);
|
2023-06-29 15:18:28 -05:00
|
|
|
});
|
|
|
|
|
|
|
|
it('creates the route definitions in the config.json', async () => {
|
|
|
|
const json = await fixture.readFile('../.vercel/output/config.json');
|
|
|
|
const config = JSON.parse(json);
|
2024-02-13 08:23:07 -05:00
|
|
|
assert.equal(config.routes.length, 5);
|
2024-02-26 08:28:49 -05:00
|
|
|
assert.equal(
|
|
|
|
config.routes.some((route) => route.dest === 'prerender.astro'),
|
|
|
|
false
|
|
|
|
);
|
2023-06-29 15:21:41 -05:00
|
|
|
});
|
2023-06-29 15:18:28 -05:00
|
|
|
});
|