diff options
Diffstat (limited to 'packages/integrations/netlify/test/functions/split-support.test.js')
-rw-r--r-- | packages/integrations/netlify/test/functions/split-support.test.js | 102 |
1 files changed, 45 insertions, 57 deletions
diff --git a/packages/integrations/netlify/test/functions/split-support.test.js b/packages/integrations/netlify/test/functions/split-support.test.js index 90427523c..6d3f9d7b3 100644 --- a/packages/integrations/netlify/test/functions/split-support.test.js +++ b/packages/integrations/netlify/test/functions/split-support.test.js @@ -1,63 +1,51 @@ -import { expect } from 'chai'; -import netlifyAdapter from '../../dist/index.js'; -import { loadFixture, testIntegration } from './test-utils.js'; +import { expect } from "chai"; +import fs from "node:fs"; +import { fileURLToPath } from "node:url"; +import { cli } from "./test-utils.js"; -describe('Split support', () => { - /** @type {import('./test-utils').Fixture} */ - let fixture; - let _entryPoints; +const root = new URL( + "../functions/fixtures/split-support/", + import.meta.url +).toString(); - before(async () => { - fixture = await loadFixture({ - root: new URL('./fixtures/split-support/', import.meta.url).toString(), - output: 'server', - adapter: netlifyAdapter({ - dist: new URL('./fixtures/split-support/dist/', import.meta.url), - functionPerRoute: true, - }), - site: `http://example.com`, - integrations: [ - testIntegration({ - setEntryPoints(ep) { - _entryPoints = ep; - }, - }), - ], - }); - await fixture.build(); - }); +describe("Split support", () => { + let _entryPoints; - it('outputs a correct redirect file', async () => { - const redir = await fixture.readFile('/_redirects'); - const lines = redir.split(/[\r\n]+/); - expect(lines.length).to.equal(3); + before(async () => { + await cli("build", "--root", fileURLToPath(root)); + }); - expect(lines[0].includes('/blog')).to.be.true; - expect(lines[0].includes('blog.astro')).to.be.true; - expect(lines[0].includes('200')).to.be.true; - expect(lines[1].includes('/')).to.be.true; - expect(lines[1].includes('index.astro')).to.be.true; - expect(lines[1].includes('200')).to.be.true; - }); + it("outputs a correct redirect file", async () => { + let redir = await fs.readFile(new URL("./dist/_redirects", root), "utf-8"); + const lines = redir.split(/[\r\n]+/); + expect(lines.length).to.equal(3); - describe('Should create multiple functions', () => { - it('and hit 200', async () => { - if (_entryPoints) { - for (const [routeData, filePath] of _entryPoints) { - if (routeData.route !== '/_image') { - const { handler } = await import(filePath.toString()); - const resp = await handler({ - httpMethod: 'GET', - headers: {}, - rawUrl: `http://example.com${routeData.route}`, - body: '{}', - }); - expect(resp.statusCode).to.equal(200); - } - } - } else { - expect(false).to.be.true; - } - }); - }); + expect(lines[0].includes("/blog")).to.be.true; + expect(lines[0].includes("blog.astro")).to.be.true; + expect(lines[0].includes("200")).to.be.true; + expect(lines[1].includes("/")).to.be.true; + expect(lines[1].includes("index.astro")).to.be.true; + expect(lines[1].includes("200")).to.be.true; + }); + + describe("Should create multiple functions", () => { + it("and hit 200", async () => { + if (_entryPoints) { + for (const [routeData, filePath] of _entryPoints) { + if (routeData.route !== "/_image") { + const { handler } = await import(filePath.toString()); + const resp = await handler({ + httpMethod: "GET", + headers: {}, + rawUrl: `http://example.com${routeData.route}`, + body: "{}", + }); + expect(resp.statusCode).to.equal(200); + } + } + } else { + expect(false).to.be.true; + } + }); + }); }); |