1+ import createTestClient from './create-test-connection' ;
2+ const { client : db , defaultSchema : DEFAULT_SCHEMA } = createTestClient ( ) ;
3+
4+ beforeAll ( async ( ) => {
5+ if ( process . env . CONNECTION_TYPE !== 'postgres' ) return ;
6+ await db . connect ( ) ;
7+ } ) ;
8+
9+ afterAll ( async ( ) => {
10+ if ( process . env . CONNECTION_TYPE !== 'postgres' ) return ;
11+ await db . disconnect ( ) ;
12+ } ) ;
13+
14+ describe ( "Postgres Specified Tests" , ( ) => {
15+ test ( "Test timestamp data type" , async ( ) => {
16+ if ( process . env . CONNECTION_TYPE !== 'postgres' ) return ;
17+
18+ await db . raw ( `CREATE TABLE table_ts(
19+ id SERIAL PRIMARY KEY,
20+ ts TIMESTAMP,
21+ date_column DATE
22+ )` )
23+
24+ await db . insert ( DEFAULT_SCHEMA , 'table_ts' , {
25+ id : 123 ,
26+ ts : '2022-10-10 11:30:30' ,
27+ date_column : '2022-10-10 00:00:00'
28+ } ) ;
29+
30+ await db . insert ( DEFAULT_SCHEMA , 'table_ts' , {
31+ id : 124 ,
32+ ts : null ,
33+ date_column : null
34+ } ) ;
35+
36+ const rows = await db . select ( DEFAULT_SCHEMA , 'table_ts' , { } ) ;
37+
38+ expect ( rows . data . find ( row => row . id === 123 ) ) . toEqual ( {
39+ id : 123 ,
40+ date_column : '2022-10-10' ,
41+ ts :
42+ '2022-10-10 11:30:30'
43+ } ) ;
44+
45+ expect ( rows . data . find ( row => row . id === 124 ) ) . toEqual ( {
46+ id : 124 ,
47+ date_column : null ,
48+ ts : null
49+ } ) ;
50+ } ) ;
51+
52+ test ( "Test JSON data type" , async ( ) => {
53+ if ( process . env . CONNECTION_TYPE !== 'postgres' ) return ;
54+
55+ await db . raw ( `CREATE TABLE table_json(
56+ id SERIAL PRIMARY KEY,
57+ data_json JSON
58+ )` )
59+
60+ const jsonData = JSON . stringify ( {
61+ name : 'Outerbase' ,
62+ age : 1000
63+ } )
64+
65+ await db . insert ( DEFAULT_SCHEMA , 'table_json' , {
66+ id : 123 ,
67+ data_json : jsonData
68+ } ) ;
69+
70+ await db . insert ( DEFAULT_SCHEMA , 'table_json' , {
71+ id : 124 ,
72+ data_json : null
73+ } ) ;
74+
75+ const rows = await db . select ( DEFAULT_SCHEMA , 'table_json' , { } ) ;
76+
77+ expect ( rows . data . find ( row => row . id === 123 ) ) . toEqual ( {
78+ id : 123 ,
79+ data_json : jsonData
80+ } ) ;
81+
82+ expect ( rows . data . find ( row => row . id === 124 ) ) . toEqual ( {
83+ id : 124 ,
84+ data_json : null ,
85+ } ) ;
86+ } ) ;
87+ } )
0 commit comments