UNPKG

1.48 kBJavaScriptView Raw
1var assert = require('assert');
2var helper = require('./lib/helper');
3var Queue = require('../lib/queue');
4
5describe('Stats', function() {
6 afterEach(helper.destroyQueues);
7
8 it('should get stat', function (done) {
9 var completed = 0;
10 var elapsedTotals = 0;
11 var q = new Queue(function (wait, cb) {
12 setTimeout(function () {
13 cb()
14 }, wait)
15 })
16 q.on('task_finish', function (id, result, stat) {
17 completed++;
18 elapsedTotals += stat.elapsed;
19 })
20 q.on('drain', function () {
21 var stats = q.getStats();
22 assert.ok(stats.peak);
23 assert.equal(3, stats.total);
24 assert.equal(elapsedTotals/3, stats.average);
25 done();
26 })
27 q.push(1);
28 q.push(1);
29 q.push(1);
30 this.q = q;
31 })
32
33 it('should reset stat', function (done) {
34 var queued = 0;
35 var elapsedTotal = 0;
36 var q = new Queue(function (wait, cb) {
37 setTimeout(function () {
38 cb()
39 }, wait)
40 }, { id: function (n, cb) { cb(null, n) } })
41 q.push(1, function () {
42 q.push(1, function () {
43 q.resetStats();
44 q.on('task_finish', function (id, result, stat) {
45 if (id !== '2') return;
46 assert.ok(stat.elapsed > 0);
47 var stats = q.getStats();
48 assert.equal(1, stats.peak);
49 assert.equal(1, stats.total);
50 assert.equal(stats.average, stat.elapsed);
51 done();
52 })
53 q.push(2);
54 });
55 });
56 this.q = q;
57 })
58
59
60})