diff --git a/libraries/metrics/test/unit/coffee/timeAsyncMethodTests.coffee b/libraries/metrics/test/unit/coffee/timeAsyncMethodTests.coffee index ec89aef27f..85af8eb9ee 100644 --- a/libraries/metrics/test/unit/coffee/timeAsyncMethodTests.coffee +++ b/libraries/metrics/test/unit/coffee/timeAsyncMethodTests.coffee @@ -77,3 +77,13 @@ describe 'timeAsyncMethod', -> expect(@Timer.done.callCount).to.equal 1 expect(@logger.log.callCount).to.equal 1 done() + + describe 'when the wrapper cannot be applied', -> + beforeEach -> + + it 'should raise an error', -> + badWrap = () => + @timeAsyncMethod @testObject, 'DEFINITELY_NOT_A_REAL_METHOD', 'test.nextNumber' + expect(badWrap).to.throw( + /^.*expected object property 'DEFINITELY_NOT_A_REAL_METHOD' to be a function.*$/ + ) diff --git a/libraries/metrics/test/unit/js/timeAsyncMethodTests.js b/libraries/metrics/test/unit/js/timeAsyncMethodTests.js index 6982161cdc..b37ac84320 100644 --- a/libraries/metrics/test/unit/js/timeAsyncMethodTests.js +++ b/libraries/metrics/test/unit/js/timeAsyncMethodTests.js @@ -88,7 +88,7 @@ })(this)); }); }); - return describe('when a logger is supplied', function() { + describe('when a logger is supplied', function() { beforeEach(function() { return this.logger = { log: sinon.stub() @@ -108,6 +108,18 @@ })(this)); }); }); + return describe('when the wrapper cannot be applied', function() { + beforeEach(function() {}); + return it('should raise an error', function() { + var badWrap; + badWrap = (function(_this) { + return function() { + return _this.timeAsyncMethod(_this.testObject, 'DEFINITELY_NOT_A_REAL_METHOD', 'test.nextNumber'); + }; + })(this); + return expect(badWrap).to["throw"](/^.*expected object property 'DEFINITELY_NOT_A_REAL_METHOD' to be a function.*$/); + }); + }); }); }).call(this); diff --git a/libraries/metrics/timeAsyncMethod.coffee b/libraries/metrics/timeAsyncMethod.coffee index ec530fcac0..7b97c54af8 100644 --- a/libraries/metrics/timeAsyncMethod.coffee +++ b/libraries/metrics/timeAsyncMethod.coffee @@ -3,7 +3,7 @@ module.exports = (obj, methodName, key, logger) -> metrics = require('./metrics') if typeof obj[methodName] != 'function' - throw new Error("[Metrics] expected object property #{methodName} to be a function") + throw new Error("[Metrics] expected object property '#{methodName}' to be a function") realMethod = obj[methodName] key = "methods.#{key}"