0
Fork 0
mirror of https://github.com/withastro/astro.git synced 2024-12-23 21:53:55 -05:00
astro/packages/integrations/vercel/test/isr.test.js
Arsh e2fe51c828
feat(vercel): ISR (#9714)
* feat(vercel): isr

* bypass token

* exclusion of certain paths

* add test

* remove search params in dev mode

* Apply suggestions from code review

Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>

* Apply suggestions from code review

* Apply suggestions from code review

* fix missing await

* escape src for regex

* cleanup

* revalidate -> expiration

* update type docs

* always exclude /_image

* add changeset

* Apply suggestions from code review

* always create serverless function for /_image

* Apply suggestions from code review

Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>

* Apply suggestions from code review

---------

Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2024-02-07 19:06:37 +05:30

51 lines
1.2 KiB
JavaScript

import { loadFixture } from "./test-utils.js";
import { expect } from "chai";
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")
);
expect(vcConfig).to.deep.include({
"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
expect(deploymentConfig.routes.slice(2)).to.deep.equal([
{
"src": "^/two$",
"dest": "_render"
},
{
"src": "^\\/_image$",
"dest": "_render"
},
{
"src": "^\\/one\\/?$",
"dest": "/_isr?x_astro_path=$0"
},
{
"src": "^\\/two\\/?$",
"dest": "/_isr?x_astro_path=$0"
}
])
})
})