datapumps
Version:
Node.js ETL (Extract, Transform, Load) toolkit for easy data import, export or transfer between systems.
35 lines (27 loc) • 844 B
JavaScript
(function() {
var Buffer, PeriodicMixin, Pump, sinon;
require('should');
sinon = require('sinon');
PeriodicMixin = require('../PeriodicMixin');
Pump = require('../../Pump');
Buffer = require('../../Buffer');
describe('PeriodicMixin', function() {
return it('should call .process() periodically', function(done) {
var buffer, pump;
buffer = new Buffer();
(pump = new Pump).mixin(PeriodicMixin(50)).from(buffer).process(function(items) {
items[0].should.be.eql('foo');
items[1].should.be.eql('bar');
if (items.length === 2) {
return done();
}
}).start();
setTimeout((function() {
return buffer.write('foo');
}), 20);
return setTimeout((function() {
return buffer.write('bar');
}), 40);
});
});
}).call(this);