require('../../../support/test_helper'); var assert = require('assert'); var StatsClient = require('../../../../lib/cartodb/stats/client'); describe('stats client', function() { var statsInstance; before(function() { statsInstance = StatsClient.instance; StatsClient.instance = null; }); after(function() { StatsClient.instance = statsInstance; }); it('reports errors when they repeat', function(done) { var WADUS_ERROR = 'wadus_error'; var statsClient = StatsClient.getInstance({ host: '127.0.0.1', port: 8033 }); statsClient.socket.emit('error', 'other_error'); assert.ok(statsClient.last_error); assert.equal(statsClient.last_error.msg, 'other_error'); assert.ok(!statsClient.last_error.interval); statsClient.socket.emit('error', WADUS_ERROR); assert.ok(statsClient.last_error); assert.equal(statsClient.last_error.msg, WADUS_ERROR); assert.ok(!statsClient.last_error.interval); statsClient.socket.emit('error', WADUS_ERROR); assert.ok(statsClient.last_error); assert.equal(statsClient.last_error.msg, WADUS_ERROR); assert.ok(statsClient.last_error.interval); done(); }); });