aboutsummaryrefslogtreecommitdiff
path: root/packages/integrations/vercel/test/split.test.js
diff options
context:
space:
mode:
Diffstat (limited to 'packages/integrations/vercel/test/split.test.js')
-rw-r--r--packages/integrations/vercel/test/split.test.js32
1 files changed, 32 insertions, 0 deletions
diff --git a/packages/integrations/vercel/test/split.test.js b/packages/integrations/vercel/test/split.test.js
new file mode 100644
index 000000000..4105db7fc
--- /dev/null
+++ b/packages/integrations/vercel/test/split.test.js
@@ -0,0 +1,32 @@
+import assert from 'node:assert/strict';
+import { before, describe, it } from 'node:test';
+import { loadFixture } from './test-utils.js';
+
+describe('build: split', () => {
+ /** @type {import('./test-utils').Fixture} */
+ let fixture;
+
+ before(async () => {
+ fixture = await loadFixture({
+ root: './fixtures/functionPerRoute/',
+ output: 'server',
+ });
+ await fixture.build();
+ });
+
+ it('creates separate functions for non-prerendered pages', async () => {
+ const files = await fixture.readdir('../.vercel/output/functions/');
+ assert.equal(files.length, 3);
+ assert.equal(files.includes('prerender.astro.func'), false);
+ });
+
+ it('creates the route definitions in the config.json', async () => {
+ const json = await fixture.readFile('../.vercel/output/config.json');
+ const config = JSON.parse(json);
+ assert.equal(config.routes.length, 5);
+ assert.equal(
+ config.routes.some((route) => route.dest === 'prerender.astro'),
+ false,
+ );
+ });
+});