Skip to content

Instantly share code, notes, and snippets.

@koresar
Last active July 23, 2017 07:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save koresar/0a653a24d0bffd7e5c460785778e9707 to your computer and use it in GitHub Desktop.
Save koresar/0a653a24d0bffd7e5c460785778e9707 to your computer and use it in GitHub Desktop.
Fun with Stamps. Episode 17. Easy 100% unit test coverage in JS: - app2-test3.js
describe('server', () => {
const App = require('../app2');
it('should call exit process after setImmediate()', (done) => {
let errorCallback = null;
let setImmediateCalled = false;
const MockedApp = App.props({
http: {
createServer() {
return {
on(event, callback) {
if (event === 'error') errorCallback = callback;
},
listen() {}
};
}
},
setImmediate(callback) {
setImmediateCalled = true;
callback();
},
process: {
env: {},
exit() {
if (!setImmediateCalled) {
throw new Error('setImmediate should have been called');
}
done();
}
}
});
MockedApp(); // setup the server
errorCallback(); // mimic server error
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment