11import { getDBConfig , getTable } from './utils'
22
3- describe ( 'DDL ' , ( ) => {
3+ describe ( 'DML ' , ( ) => {
44 let db : any ;
55 const dbConfig = getDBConfig ( ) ;
66
@@ -13,26 +13,67 @@ describe('DDL', () => {
1313 } )
1414
1515 it ( 'null type' , async ( ) => {
16- const tableName = await getTable ( db ) ;
16+ const [ tableName , drop ] = await getTable ( db ) ;
17+ try {
18+ await db . query ( `CREATE MODEL ${ tableName } (username: string, null email_id: string)` )
1719
18- await db . query ( `CREATE MODEL ${ tableName } (username: string, null email_id: string)` )
20+ await db . query ( `INSERT INTO ${ tableName } (?, ?)` , 'test' , null )
21+
22+ expect ( await db . query ( `SELECT username,email_id FROM ${ tableName } WHERE username = ?` , 'test' ) ) . toEqual (
23+ [ 'test' , null ]
24+ )
25+
26+ } finally {
27+ await drop ( )
28+ }
29+ } )
30+
31+ it ( 'int number type' , async ( ) => {
32+ const [ tableName , drop ] = await getTable ( db ) ;
1933
20- await db . query ( `INSERT INTO ${ tableName } (?, ?)` , 'test' , null )
34+ try {
35+ await db . query ( `CREATE MODEL ${ tableName } (u8: uint8, u16: uint16, u32: uint32, u64: uint64)` )
2136
22- expect ( await db . query ( `SELECT username,email_id FROM ${ tableName } WHERE username = ?` , 'test' ) ) . toEqual ( [
23- [ 'test' , null ]
24- ] )
37+ await db . query ( `INSERT INTO ${ tableName } (?, ?, ?, ?)` , 1 , 2 , 3312321 , BigInt ( 478787872837218382 ) )
38+
39+ // TODO why is the uint8 in bigint
40+ expect ( await db . query ( `SELECT * FROM ${ tableName } WHERE u8 = ?` , 1 ) ) . toEqual (
41+ [ BigInt ( 1 ) , 2 , 3312321 , BigInt ( 478787872837218382 ) ]
42+ )
43+ } finally {
44+ await drop ( ) ;
45+ }
2546 } )
2647
27- it ( 'int number type' , async ( ) => {
28- const tableName = await getTable ( db ) ;
48+ it ( 'list type' , async ( ) => {
49+ const [ tableName , drop ] = await getTable ( db ) ;
50+
51+ try {
52+ await db . query ( `CREATE MODEL ${ tableName } (id: uint64, list: list { type: string} )` )
53+
54+ await db . query ( `INSERT INTO ${ tableName } (?, [?])` , 1 , 'test' )
55+
56+ expect ( await db . query ( `SELECT * FROM ${ tableName } WHERE id = ?` , 1 ) ) . toEqual (
57+ [ BigInt ( 1 ) , [ 'test' ] ]
58+ )
59+ } finally {
60+ await drop ( ) ;
61+ }
62+ } )
63+
64+ it ( 'list type' , async ( ) => {
65+ const [ tableName , drop ] = await getTable ( db ) ;
2966
30- await db . query ( `CREATE MODEL ${ tableName } (u8: uint8, u16: uint16, u32: uint32, u32: uint64)` )
67+ try {
68+ await db . query ( `CREATE MODEL ${ tableName } (id: uint64, binary: binary )` )
3169
32- await db . query ( `INSERT INTO ${ tableName } (?, ?, ?, ? )` , 1 , 2 , 3312321 , BigInt ( 478787872837218382 ) )
70+ await db . query ( `INSERT INTO ${ tableName } (?, ?)` , 1 , Buffer . from ( 'test' ) )
3371
34- expect ( await db . query ( `SELECT * FROM ${ tableName } WHERE u8 = ?` , 1 ) ) . toEqual ( [
35- [ 1 , 2 , 3312321 , BigInt ( 478787872837218382 ) ]
36- ] )
72+ expect ( await db . query ( `SELECT * FROM ${ tableName } WHERE id = ?` , 1 ) ) . toEqual (
73+ [ BigInt ( 1 ) , Buffer . from ( 'test' ) ]
74+ )
75+ } finally {
76+ await drop ( ) ;
77+ }
3778 } )
3879} ) ;
0 commit comments