@@ -35,11 +35,60 @@ const adapters: { [index: string]: IDatabaseAdapter } = {
3535
3636const randomId = crypto . randomBytes ( 16 ) . toString ( 'hex' )
3737
38+ const USER_UNDEFINED = 'User is not defined' ;
39+
3840describe ( 'Database adapter' , ( ) => {
41+
42+ describe ( 'Mongo adapter specific' , ( ) => {
43+ const adapter = adapters . mongo
44+ const adapterName = 'mongo' ;
45+
46+ describe ( 'Before init() calls' , ( ) => {
47+ it ( `${ adapterName } insertUser() should fail` , async ( ) => {
48+ expect (
49+ adapter . insertUser ( {
50+ email : '' ,
51+ emailConfirmationToken : ''
52+ } )
53+ ) . rejects . toThrow ( ) ;
54+ } ) ;
55+ it ( `${ adapterName } insertProvider() should fail` , async ( ) => {
56+ expect (
57+ adapter . insertProvider ( {
58+ userId : '' ,
59+ login : '' ,
60+ data : { }
61+ } )
62+ ) . rejects . toThrow ( ) ;
63+ } )
64+ it ( `${ adapterName } updateUser() should fail` , async ( ) => {
65+ expect (
66+ adapter . updateUser ( { id : '' , emailConfirmed : true } )
67+ ) . rejects . toThrow ( ) ;
68+ } )
69+ it ( `${ adapterName } findUserByEmail() should fail` , async ( ) => {
70+ expect (
71+ adapter . findUserByEmail ( '' )
72+ ) . rejects . toThrow ( ) ;
73+ } )
74+ it ( `${ adapterName } findUserById() should fail` , async ( ) => {
75+ expect (
76+ adapter . findUserById ( '' )
77+ ) . rejects . toThrow ( ) ;
78+ } )
79+ it ( `${ adapterName } findUserByProviderLogin() should fail` , async ( ) => {
80+ expect (
81+ adapter . findUserByProviderLogin ( '' )
82+ ) . rejects . toThrow ( ) ;
83+ } )
84+ } ) ;
85+ } ) ;
86+
3987 Object . keys ( adapters ) . forEach ( adapterName => {
4088 const adapter = adapters [ adapterName ]
41- let userId
42- let emailConfirmationToken
89+ let userId : string
90+ let emailConfirmationToken : string
91+
4392 it ( `${ adapterName } init()` , async ( ) => {
4493 await adapter . init ( )
4594 } )
@@ -61,25 +110,31 @@ describe('Database adapter', () => {
61110 it ( `${ adapterName } updateUser()` , async ( ) => {
62111 await adapter . updateUser ( { id : userId , emailConfirmed : true } )
63112 const user = await adapter . findUserById ( userId )
113+ if ( ! user ) throw Error ( USER_UNDEFINED ) ;
64114 expect ( user . emailConfirmed ) . toEqual ( true )
65115 } )
66116
67117 it ( `${ adapterName } findUserByEmail()` , async ( ) => {
68118 const user = await adapter . findUserByEmail ( `test+${ randomId } @example.com` )
119+ if ( ! user ) throw Error ( USER_UNDEFINED ) ;
69120 expect ( user . id ) . toEqual ( userId )
70121 expect ( user . email ) . toEqual ( `test+${ randomId } @example.com` )
71- emailConfirmationToken = user . emailConfirmationToken
122+ if ( user . emailConfirmationToken ) {
123+ emailConfirmationToken = user . emailConfirmationToken
124+ }
72125 } )
73126
74127 it ( `${ adapterName } findUserById()` , async ( ) => {
75128 const user = await adapter . findUserById ( userId )
129+ if ( ! user ) throw Error ( USER_UNDEFINED ) ;
76130 expect ( user . id ) . toEqual ( userId )
77131 expect ( user . email ) . toEqual ( `test+${ randomId } @example.com` )
78132 expect ( user . emailConfirmationToken ) . toEqual ( emailConfirmationToken )
79133 } )
80134
81135 it ( `${ adapterName } findUserByProviderLogin()` , async ( ) => {
82136 const user = await adapter . findUserByProviderLogin ( `login${ randomId } ` )
137+ if ( ! user ) throw Error ( USER_UNDEFINED ) ;
83138 expect ( user . id ) . toEqual ( userId )
84139 expect ( user . email ) . toEqual ( `test+${ randomId } @example.com` )
85140 expect ( user . emailConfirmationToken ) . toEqual ( emailConfirmationToken )
0 commit comments