diff options
Diffstat (limited to 'packages/integrations/cloudflare/test/prerender.test.js')
-rw-r--r-- | packages/integrations/cloudflare/test/prerender.test.js | 45 |
1 files changed, 43 insertions, 2 deletions
diff --git a/packages/integrations/cloudflare/test/prerender.test.js b/packages/integrations/cloudflare/test/prerender.test.js index a3ce50d08..5d3ff9f10 100644 --- a/packages/integrations/cloudflare/test/prerender.test.js +++ b/packages/integrations/cloudflare/test/prerender.test.js @@ -1,19 +1,60 @@ import { loadFixture } from './test-utils.js'; import { expect } from 'chai'; +import slash from 'slash'; describe('Prerendering', () => { /** @type {import('./test-utils').Fixture} */ let fixture; before(async () => { + process.env.PRERENDER = true; fixture = await loadFixture({ root: './fixtures/prerender/', }); await fixture.build(); }); + after(() => { + delete process.env.PRERENDER; + fixture.clean(); + }); + + it('includes prerendered routes in the routes.json config', async () => { + const foundRoutes = JSON.parse(await fixture.readFile('/_routes.json')).exclude.map((r) => + slash(r) + ); + const expectedExcludedRoutes = ['/_worker.js', '/one/index.html', '/one/']; + + expect(foundRoutes.every((element) => expectedExcludedRoutes.includes(element))).to.be.true; + }); +}); + +describe('Hybrid rendering', () => { + /** @type {import('./test-utils').Fixture} */ + let fixture; + + before(async () => { + process.env.PRERENDER = false; + fixture = await loadFixture({ + root: './fixtures/prerender/', + output: 'hybrid', + experimental: { + hybridOutput: true, + }, + }); + await fixture.build(); + }); + + after(() => { + delete process.env.PRERENDER; + }); + it('includes prerendered routes in the routes.json config', async () => { - const routes = JSON.parse(await fixture.readFile('/_routes.json')); - expect(routes.exclude).to.include('/one/'); + const foundRoutes = JSON.parse(await fixture.readFile('/_routes.json')).exclude.map((r) => + slash(r) + ); + const expectedExcludedRoutes = ['/_worker.js', '/index.html', '/']; + + expect(foundRoutes.every((element) => expectedExcludedRoutes.includes(element))).to.be.true; }); }); |