import { expect } from 'chai'; import { cli } from './test-utils.js'; import { fileURLToPath } from 'url'; import fs from 'fs/promises'; const root = new URL('./fixtures/dynamic-route/', import.meta.url).toString(); describe('Dynamic pages', () => { before(async () => { await cli('build', '--root', fileURLToPath(root)); }); it('Dynamic pages are included in the redirects file', async () => { const redir = await fs.readFile(new URL('./dist/_redirects', root), 'utf-8'); expect(redir).to.match(/\/products\/:id/); }); it('Prerendered routes are also included using placeholder syntax', async () => { const redir = await fs.readFile(new URL('./dist/_redirects', root), 'utf-8'); expect(redir).to.include('/pets/:cat /pets/:cat/index.html 200'); expect(redir).to.include('/pets/:dog /pets/:dog/index.html 200'); expect(redir).to.include('/pets /.netlify/functions/entry 200'); }); });