mirror of
https://github.com/withastro/astro.git
synced 2025-01-06 22:10:10 -05:00
72bbfac976
* chore: update tests * chore: update tests * fix(#7516): set response status to 404 when rendering 404 page * chore: add changeset * chore: update dev container test * refactor: improve status handling logic * chore: remove unused import
45 lines
976 B
JavaScript
45 lines
976 B
JavaScript
import { expect } from 'chai';
|
|
import * as cheerio from 'cheerio';
|
|
import { loadFixture } from './test-utils.js';
|
|
|
|
describe('Custom 404 with injectRoute', () => {
|
|
let fixture;
|
|
|
|
before(async () => {
|
|
fixture = await loadFixture({
|
|
root: './fixtures/custom-404-injected/',
|
|
site: 'http://example.com',
|
|
});
|
|
});
|
|
|
|
describe('dev', () => {
|
|
let devServer;
|
|
let $;
|
|
|
|
before(async () => {
|
|
devServer = await fixture.startDevServer();
|
|
});
|
|
|
|
after(async () => {
|
|
await devServer.stop();
|
|
});
|
|
|
|
it('renders /', async () => {
|
|
const html = await fixture.fetch('/').then((res) => res.text());
|
|
$ = cheerio.load(html);
|
|
|
|
expect($('h1').text()).to.equal('Home');
|
|
});
|
|
|
|
it('renders 404 for /a', async () => {
|
|
const res = await fixture.fetch('/a');
|
|
expect(res.status).to.equal(404);
|
|
|
|
const html = await res.text();
|
|
$ = cheerio.load(html);
|
|
|
|
expect($('h1').text()).to.equal('Page not found');
|
|
expect($('p').text()).to.equal('/a');
|
|
});
|
|
});
|
|
});
|