- Bug beim Übernehmen eines Termins in die Zeiterfassung, wenn man Stunden als Zeiteinheit ausgewählt hatte, behoben. - Berichte und Mitarbeiterstundenkonto eingebaut - Node-Module optimiert (sehr viele gelöscht)
61 lines
2.5 KiB
JavaScript
61 lines
2.5 KiB
JavaScript
var expect = require('unexpected').clone().use(require('unexpected-sinon')),
|
|
sinon = require('sinon'),
|
|
passError = require('../lib/passError');
|
|
|
|
describe('passError', function () {
|
|
describe('called with a successCallback and an errorCallback', function () {
|
|
var successCallback,
|
|
errorCallback,
|
|
cb;
|
|
beforeEach(function () {
|
|
successCallback = sinon.spy().named('successCallback');
|
|
errorCallback = sinon.spy().named('errorCallback');
|
|
cb = passError(errorCallback, successCallback);
|
|
});
|
|
|
|
it('should call the successCallback with the correct arguments on success', function () {
|
|
cb(null, 1, 2, 3);
|
|
expect(errorCallback, 'was not called');
|
|
expect(successCallback, 'was called once');
|
|
expect(successCallback, 'was called with', 1, 2, 3);
|
|
});
|
|
|
|
it('should call the errorCallback with the error on failure', function () {
|
|
var err = new Error('foo');
|
|
cb(err);
|
|
expect(errorCallback, 'was called once');
|
|
expect(errorCallback, 'was called with', err);
|
|
expect(successCallback, 'was not called');
|
|
});
|
|
|
|
it('should throw an error if called again', function () {
|
|
cb();
|
|
expect(errorCallback, 'was not called');
|
|
expect(successCallback, 'was called once');
|
|
expect(cb, 'to throw exception', 'passError: The callback was called again with no error');
|
|
expect(errorCallback, 'was not called');
|
|
expect(successCallback, 'was called once');
|
|
});
|
|
|
|
it('should throw an error including the stack if called again with an error', function () {
|
|
cb();
|
|
expect(errorCallback, 'was not called');
|
|
expect(successCallback, 'was called once');
|
|
var err = new Error('testing testing 123');
|
|
expect(function () {
|
|
cb(err);
|
|
}, 'to throw exception', 'passError: The callback was called again with ' + err.stack);
|
|
expect(errorCallback, 'was not called');
|
|
expect(successCallback, 'was called once');
|
|
});
|
|
});
|
|
|
|
it('should throw an error when given wrong arguments', function () {
|
|
[[1, 4], [{}, []], [], [function () {}], [null, function () {}]].forEach(function (args) {
|
|
expect(function () {
|
|
passError.apply(this, args);
|
|
}, 'to throw exception', 'passError: Two function arguments required');
|
|
});
|
|
});
|
|
});
|