node-postgres/test/unit/client/prepared-statement-tests.js

71 lines
1.6 KiB
JavaScript
Raw Normal View History

2010-10-28 12:51:08 +08:00
var helper = require(__dirname + '/test-helper');
var client = helper.client();
var con = client.connection;
var parseArg = null;
con.parse = function(query) {
parseArg = query;
};
var bindArg = null;
con.bind = function(arg) {
bindArg = arg;
this.emit('bindComplete');
};
var executeArg = null;
con.execute = function(arg) {
executeArg = arg;
this.emit('rowData',{ fields: [] });
this.emit('commandComplete');
};
var describeArg = null;
con.describe = function(arg) {
describeArg = arg;
this.emit('rowDescription', { fields: [] });
};
var syncCalled = true;
con.sync = function() {
syncCalled = false;
this.emit('readyForQuery')
};
test('bound command', function() {
test('simple, unnamed bound command', function() {
return false;
2010-10-28 12:51:08 +08:00
var query = client.query({
text: 'select * where name = $1',
parameters: ['hi']
});
test('parse argument', function() {
assert.equal(parseArg.name, null);
assert.equal(parseArg.text, 'select * where name = $1');
assert.equal(parseArg.types, null);
});
test('bind argument', function() {
assert.equal(bindArg.statement, null);
assert.equal(bindArg.portal, null);
assert.length(bindArg.values, 1);
assert.equal(bindArg.values[0], 'hi')
});
test('describe argument', function() {
assert.equal(describeArg, null);
});
test('execute argument', function() {
assert.equal(executeArg.portal, null);
assert.equal(executeArg.rows, null);
});
test('sync called', function() {
assert.ok(syncCalled);
});
});
});