node-postgres/test/unit/client/query-queue-tests.js
Brian Carlson 8d7ff353af fix to allow executing queries within the callback function of another query.
there was a timing issue with emiting the drain event
2010-11-21 23:30:10 -06:00

52 lines
1.1 KiB
JavaScript

var helper = require(__dirname + '/test-helper');
var con = new Connection({stream: "NO"});
var client = new Client({connection:con});
con.connect = function() {
con.emit('connect');
};
con.query = function() {
};
client.connect();
var raisedDrain = false;
client.on('drain', function() {
raisedDrain = true;
});
client.query("hello");
client.query("sup");
client.query('boom');
test("with pending queries", function() {
test("does not emit drain", function() {
assert.equal(raisedDrain, false);
});
});
test("after some queries executed", function() {
con.emit('readyForQuery');
test("does not emit drain", function() {
assert.equal(raisedDrain, false);
});
});
test("when all queries are sent", function() {
con.emit('readyForQuery');
con.emit('readyForQuery');
test("does not emit drain", function() {
assert.equal(raisedDrain, false);
});
});
test("after last query finishes", function() {
con.emit('readyForQuery');
test("emits drain", function() {
process.nextTick(function() {
assert.ok(raisedDrain);
})
});
});