47 lines
1.5 KiB
TypeScript
47 lines
1.5 KiB
TypeScript
import { expect } from 'chai';
|
|
import { runServer } from '../helpers';
|
|
import * as fs from 'fs';
|
|
import * as path from 'path';
|
|
|
|
describe('404 Middleware', function () {
|
|
it('Should respond with 404 on bad path', function (done) {
|
|
runServer({
|
|
allowed_ips: [],
|
|
basicAuth: [],
|
|
dirList: false,
|
|
serveDir: 'site/',
|
|
opbeat: false,
|
|
open: false
|
|
}, '/foo/bar', function (response : any) {
|
|
expect(response.ok).to.be.false;
|
|
expect(response.status).to.equal(404);
|
|
expect(response.text()).to.eventually.include('Cannot GET').notify(done);
|
|
});
|
|
});
|
|
|
|
describe('Custom 404 Page', function () {
|
|
const CUSTOM_PAGE = path.join(__dirname, '..', '..', 'site', '.404.html')
|
|
beforeEach(function () {
|
|
fs.writeFileSync(CUSTOM_PAGE, 'Custom 404 Page');
|
|
});
|
|
|
|
afterEach(function () {
|
|
fs.unlinkSync(CUSTOM_PAGE);
|
|
});
|
|
|
|
it('should have custom page', function (done) {
|
|
runServer({
|
|
allowed_ips: [],
|
|
basicAuth: [],
|
|
dirList: false,
|
|
serveDir: 'site/',
|
|
opbeat: false,
|
|
open: false
|
|
}, '/foo/bar', function (response : any) {
|
|
expect(response.ok).to.be.false;
|
|
expect(response.status).to.equal(404);
|
|
expect(response.text()).to.eventually.include('Custom 404 Page').notify(done);
|
|
});
|
|
});
|
|
});
|
|
});
|