-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
/
Copy pathtimezone-tests.js
39 lines (31 loc) · 1.07 KB
/
timezone-tests.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
28
29
30
31
32
33
34
35
36
37
38
39
'use strict'
var helper = require('./../test-helper')
const assert = require('assert')
var oldTz = process.env.TZ
process.env.TZ = 'Europe/Berlin'
var date = new Date()
const pool = new helper.pg.Pool()
const suite = new helper.Suite()
pool.connect(function (err, client, done) {
assert(!err)
suite.test('timestamp without time zone', function (cb) {
client.query('SELECT CAST($1 AS TIMESTAMP WITHOUT TIME ZONE) AS "val"', [date], function (err, result) {
assert(!err)
assert.equal(result.rows[0].val.getTime(), date.getTime())
cb()
})
})
suite.testAsync('date comes out as a string', async function () {
const { rows } = await client.query('SELECT NOW()::DATE AS date')
assert.equal(typeof rows[0].date, 'string')
})
suite.test('timestamp with time zone', function (cb) {
client.query('SELECT CAST($1 AS TIMESTAMP WITH TIME ZONE) AS "val"', [date], function (err, result) {
assert(!err)
assert.equal(result.rows[0].val.getTime(), date.getTime())
done()
pool.end(cb)
process.env.TZ = oldTz
})
})
})