'use strict'; require('../../support/test-helper'); var assert = require('assert'); var StatsClient = require('../../../lib/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.strictEqual(statsClient.last_error.msg, 'other_error'); assert.ok(!statsClient.last_error.interval); statsClient.socket.emit('error', WADUS_ERROR); assert.ok(statsClient.last_error); assert.strictEqual(statsClient.last_error.msg, WADUS_ERROR); assert.ok(!statsClient.last_error.interval); statsClient.socket.emit('error', WADUS_ERROR); assert.ok(statsClient.last_error); assert.strictEqual(statsClient.last_error.msg, WADUS_ERROR); assert.ok(statsClient.last_error.interval); done(); }); });