UNPKG

1.4 kBJavaScriptView Raw
1var assert = require('assert');
2var ok = require('okay');
3var util = require('util');
4var query = require('../');
5var async = require('async');
6
7describe('query', function() {
8 describe('with no values', function() {
9 it('works', function(done) {
10 query('SELECT NOW() as when', function(err, rows, result) {
11 if(err) return done(err);
12 assert(util.isArray(rows));
13 assert.equal(rows.length, 1);
14 assert.equal(rows, result.rows);
15 done();
16 });
17 });
18 });
19
20 describe('with values', function() {
21 it('works', function(done) {
22 query('SELECT $1::text as name', ['brian'], ok(done, function(rows, result) {
23 assert.equal(rows.length, 1);
24 assert.equal(rows[0].name, 'brian');
25 done();
26 }));
27 });
28 });
29
30 describe('domain binding', function() {
31 it('sticks on proper domain', function(done) {
32 var domain = require('domain').create();
33 domain.run(function() {
34 var existingDomain = process.domain;
35 var runQuery = function(n, next) {
36 query('SELECT NOW()', function(err, rows) {
37 assert.equal(existingDomain, process.domain);
38 next();
39 });
40 };
41 async.times(10, runQuery, function(err) {
42 if(err) return done(err);
43 assert.equal(existingDomain, process.domain);
44 done();
45 });
46 });
47 });
48 });
49});