fix tests that relied on different logger

This commit is contained in:
Matteo Pagliazzi
2016-04-13 18:43:15 +02:00
parent 8817f795b1
commit 471657c013
3 changed files with 17 additions and 17 deletions

View File

@@ -61,13 +61,15 @@ describe('emails', () => {
sandbox.stub(logger, 'error'); sandbox.stub(logger, 'error');
let attachEmail = require(pathToEmailLib); let attachEmail = require(pathToEmailLib);
attachEmail.send(); let promise = attachEmail.send();
expect(sendMailSpy).to.be.calledOnce; expect(sendMailSpy).to.be.calledOnce;
deferred.reject(); deferred.reject();
deferred.promise.catch(() => {
// wait for unhandledRejection event to fire
setTimeout(() => {
expect(logger.error).to.be.calledOnce; expect(logger.error).to.be.calledOnce;
done(); done();
}); }, 20);
}); });
}); });

View File

@@ -153,11 +153,10 @@ describe('errorHandler', () => {
errorHandler(error, req, res, next); errorHandler(error, req, res, next);
expect(logger.error).to.be.calledOnce; expect(logger.error).to.be.calledOnce;
expect(logger.error).to.be.calledWithExactly(error.stack, { expect(logger.error).to.be.calledWithExactly(error, {
originalUrl: req.originalUrl, originalUrl: req.originalUrl,
headers: req.headers, headers: req.headers,
body: req.body, body: req.body,
fullError: error,
}); });
}); });
}); });

View File

@@ -21,19 +21,8 @@ if (IS_PROD) {
}); });
} }
// Logs unhandled promises errors
// when no catch is attached to a promise a unhandledRejection event will be triggered
process.on('unhandledRejection', function handlePromiseRejection (reason, promise) {
let stack = reason.stack || reason.message || reason;
logger.error(stack, {
promise,
fullError: reason,
});
});
// exports a public interface insteaf of accessing directly the logger module // exports a public interface insteaf of accessing directly the logger module
module.exports = { let loggerInterface = {
info (...args) { info (...args) {
logger.info(...args); logger.info(...args);
}, },
@@ -56,3 +45,13 @@ module.exports = {
} }
}, },
}; };
// Logs unhandled promises errors
// when no catch is attached to a promise a unhandledRejection event will be triggered
process.on('unhandledRejection', function handlePromiseRejection (reason, promise) {
loggerInterface.error(reason, {
promise,
});
});
module.exports = loggerInterface;