2023-11-30 14:15:19 +00:00

68 lines
2.5 KiB
JavaScript

const reply = require('.');
describe('reply', () => {
it('loads the main reply', () => {
expect(reply).toEqual(require('server').reply);
expect(reply).toEqual(require('server/reply'));
});
it('has the right methods defined', () => {
expect(reply.cookie ).toEqual(jasmine.any(Function));
expect(reply.download).toEqual(jasmine.any(Function));
expect(reply.end ).toEqual(jasmine.any(Function));
expect(reply.file ).toEqual(jasmine.any(Function));
expect(reply.header ).toEqual(jasmine.any(Function));
expect(reply.json ).toEqual(jasmine.any(Function));
expect(reply.jsonp ).toEqual(jasmine.any(Function));
expect(reply.redirect).toEqual(jasmine.any(Function));
expect(reply.render ).toEqual(jasmine.any(Function));
expect(reply.send ).toEqual(jasmine.any(Function));
expect(reply.status ).toEqual(jasmine.any(Function));
expect(reply.type ).toEqual(jasmine.any(Function));
});
it('can load all the methods manually', () => {
expect(require('server/reply/cookie' )).toEqual(reply.cookie);
expect(require('server/reply/download')).toEqual(reply.download);
expect(require('server/reply/end' )).toEqual(reply.end);
expect(require('server/reply/file' )).toEqual(reply.file);
expect(require('server/reply/header' )).toEqual(reply.header);
expect(require('server/reply/json' )).toEqual(reply.json);
expect(require('server/reply/jsonp' )).toEqual(reply.jsonp);
expect(require('server/reply/redirect')).toEqual(reply.redirect);
expect(require('server/reply/render' )).toEqual(reply.render);
expect(require('server/reply/send' )).toEqual(reply.send);
expect(require('server/reply/status' )).toEqual(reply.status);
expect(require('server/reply/type' )).toEqual(reply.type);
});
describe('reply: instances instead of global', () => {
it('adds a method to the stack', () => {
const mock = reply.file('./index.js');
expect(mock.stack.length).toEqual(1);
const inst = reply.file('./index.js');
expect(inst.stack.length).toEqual(1);
// Do not touch the global
expect(mock.stack.length).toEqual(1);
});
it('adds several methods correctly', () => {
const mock = reply.file('./index.js');
expect(mock.stack.length).toEqual(1);
const inst = reply.file('./index.js').file('./whatever.js');
expect(inst.stack.length).toEqual(2);
// Do not touch the global
expect(mock.stack.length).toEqual(1);
});
});
});