Skip to content

Commit

Permalink
Allow creating robot without a logger
Browse files Browse the repository at this point in the history
  • Loading branch information
bkeepers committed Jun 30, 2017
1 parent 0078c31 commit aa3146b
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 16 deletions.
4 changes: 2 additions & 2 deletions lib/robot.js
Expand Up @@ -137,11 +137,11 @@ function rateLimitedClient(github) {
// robot.log.trace("verbose details");
//
function wrapLogger(logger) {
const fn = logger.debug.bind(logger);
const fn = logger ? logger.debug.bind(logger) : function () { };

// Add level methods on the logger
['trace', 'debug', 'info', 'warn', 'error', 'fatal'].forEach(level => {
fn[level] = logger[level].bind(logger);
fn[level] = logger ? logger[level].bind(logger) : function () { };
});

return fn;
Expand Down
17 changes: 3 additions & 14 deletions test/robot.js
Expand Up @@ -2,23 +2,12 @@ const expect = require('expect');
const Context = require('../lib/context');
const createRobot = require('../lib/robot');

function createNullLogger() {
const logger = expect.createSpy();

['trace', 'debug', 'info', 'warn', 'error', 'fatal'].forEach(level => {
logger[level] = expect.createSpy();
});

return logger;
}

describe('Robot', function () {
let webhook;
let robot;
let event;
let callbacks;
let spy;
let logger;

beforeEach(function () {
callbacks = {};
Expand All @@ -33,8 +22,7 @@ describe('Robot', function () {
}
};

logger = createNullLogger();
robot = createRobot({webhook, logger});
robot = createRobot({webhook});
robot.auth = () => {};

event = {
Expand Down Expand Up @@ -76,14 +64,15 @@ describe('Robot', function () {
describe('error handling', () => {
it('logs errors throw from handlers', async () => {
const error = new Error('testing');
robot.log.error = expect.createSpy();

robot.on('test', () => {
throw error;
});

await webhook.emit('test', event);

expect(logger.error).toHaveBeenCalledWith(error);
expect(robot.log.error).toHaveBeenCalledWith(error);
});
});
});

0 comments on commit aa3146b

Please sign in to comment.