-
Notifications
You must be signed in to change notification settings - Fork 5
/
3-update.js
27 lines (18 loc) · 1.16 KB
/
3-update.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
var SqlG = require('../lib/sql-generator');
var sqlg = new SqlG();
exports['test_update'] = function( test, assert ) {
if( !assert ) { assert = test; assert.finish = function() { this.done() } }
assert.deepEqual( { sql: 'UPDATE test SET foo = $1, bar = $2', values: [ 1, 2 ] },
sqlg.update( 'test', null, { foo: 1, bar: 2 } ) );
sqlg.update( 'test', null, { foo: 1, bar: 2 }, function( sql, values ) {
assert.deepEqual( { sql: 'UPDATE test SET foo = $1, bar = $2', values: [ 1, 2 ] },
{ sql: sql, values: values } );
} );
assert.deepEqual( { sql: 'UPDATE test SET foo = $1, bar = $2 WHERE id = $3', values: [ 1, 2, 10 ] },
sqlg.update( 'test', { id: 10 }, { foo: 1, bar: 2 } ) );
assert.deepEqual( { sql: 'UPDATE test SET foo = $1', values: [ '{1,2}' ] },
sqlg.update( 'test', null, { foo: [ 1, 2 ] } ) );
assert.deepEqual( { sql: 'UPDATE test SET foo = ARRAY[$1, $2]', values: [ 'a', 'b' ] },
sqlg.update( 'test', null, { foo: [ 'a', 'b' ] } ) );
if( typeof test.finish == 'function' ) test.finish();
};