Files
BeWoPlaner/BeWoPlanerMobil/node_modules/passerror/test/passError.js
Lyndon Jetten 88fd24f3a9 MoK:
- 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)
2023-05-15 11:54:13 +02:00

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');
});
});
});