@@ -4,24 +4,7 @@ import { databaseFactory } from './factory.js';
44import { User , UserCredentials } from '@deepkit/orm-integration' ;
55import { SQLiteDatabaseAdapter , SQLiteDatabaseTransaction } from '../src/sqlite-adapter.js' ;
66import { sleep } from '@deepkit/core' ;
7- import {
8- AutoIncrement ,
9- BackReference ,
10- cast ,
11- Entity ,
12- entity ,
13- getPrimaryKeyExtractor ,
14- getPrimaryKeyHashGenerator ,
15- isReferenceInstance ,
16- PrimaryKey ,
17- Reference ,
18- ReflectionClass ,
19- serialize ,
20- typeOf ,
21- Unique ,
22- UUID ,
23- uuid ,
24- } from '@deepkit/type' ;
7+ import { AutoIncrement , BackReference , cast , Entity , entity , getPrimaryKeyExtractor , getPrimaryKeyHashGenerator , isReferenceInstance , PrimaryKey , Reference , ReflectionClass , serialize , typeOf , Unique , UUID , uuid } from '@deepkit/type' ;
258import { DatabaseEntityRegistry , UniqueConstraintFailure } from '@deepkit/orm' ;
269import { sql } from '@deepkit/sql' ;
2710
@@ -770,7 +753,7 @@ test('deep join population', async () => {
770753
771754 {
772755 const basket = await database . query ( Basket )
773- . joinWith ( 'items' , v => v . joinWith ( 'product' ) )
756+ . joinWith ( 'items' , v => v . joinWith ( 'product' ) )
774757 . findOne ( ) ;
775758 expect ( basket ) . toBeInstanceOf ( Basket ) ;
776759 expect ( basket . items [ 0 ] ) . toBeInstanceOf ( BasketItem ) ;
@@ -943,7 +926,9 @@ test('uuid 3', async () => {
943926test ( 'unique constraint 1' , async ( ) => {
944927 class Model {
945928 id : number & PrimaryKey & AutoIncrement = 0 ;
946- constructor ( public username : string & Unique = '' ) { }
929+
930+ constructor ( public username : string & Unique = '' ) {
931+ }
947932 }
948933
949934 const database = await databaseFactory ( [ Model ] ) ;
@@ -965,15 +950,27 @@ test('unique constraint 1', async () => {
965950 }
966951
967952 {
968- const m = await database . query ( Model ) . filter ( { username : 'paul' } ) . findOne ( ) ;
953+ const m = await database . query ( Model ) . filter ( { username : 'paul' } ) . findOne ( ) ;
969954 m . username = 'peter' ;
970955 await expect ( database . persist ( m ) ) . rejects . toThrow ( 'constraint failed' ) ;
971956 await expect ( database . persist ( m ) ) . rejects . toBeInstanceOf ( UniqueConstraintFailure ) ;
972957 }
973958
974959 {
975- const p = database . query ( Model ) . filter ( { username : 'paul' } ) . patchOne ( { username : 'peter' } ) ;
960+ const p = database . query ( Model ) . filter ( { username : 'paul' } ) . patchOne ( { username : 'peter' } ) ;
976961 await expect ( p ) . rejects . toThrow ( 'constraint failed' ) ;
977962 await expect ( p ) . rejects . toBeInstanceOf ( UniqueConstraintFailure ) ;
978963 }
979964} ) ;
965+
966+ test ( 'forward raw types' , async ( ) => {
967+ const database = await databaseFactory ( [ ] ) ;
968+
969+ const q1 = await database . raw < { count1 : number } > ( sql `SELECT 42 AS count1` ) ;
970+ const r1 = await q1 . findOne ( ) ;
971+
972+ const q2 = await database . raw ( sql `SELECT 42 AS count2` ) ;
973+ const r2 : any = await q2 . findOne ( ) ;
974+
975+ expect ( r1 . count1 ) . toEqual ( r2 . count2 ) ;
976+ } ) ;
0 commit comments