Last active
July 23, 2017 07:26
-
-
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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