1
1
import { describe , beforeAll , it , expect } from './setup.js' ;
2
2
import { createInitializer } from '../src/storage/memory.js' ;
3
- import { UsersDb , UsersDbOptions , User } from '../src/node/api/db.js' ;
3
+ import {
4
+ UsersDb ,
5
+ UsersDbOptions ,
6
+ User ,
7
+ comparePassword ,
8
+ } from '../src/node/api/db.js' ;
4
9
5
10
describe ( 'Node.API.Db' , ( ) => {
11
+ const password = 'password' ;
6
12
let userDb : UsersDb ;
7
13
let testUser : User ;
8
14
9
15
beforeAll ( async ( ) => {
10
16
const options : UsersDbOptions = {
11
17
storage : await createInitializer ( ) ( ) ,
12
18
prefix : 'test' ,
13
- salt : 'salt' ,
14
19
} ;
15
20
userDb = new UsersDb ( options ) ;
16
21
testUser = {
17
22
login : 'testUser' ,
18
- hashedPassword : UsersDb . hashPassword ( 'password' , options . salt ) ,
23
+ hashedPassword : await UsersDb . hashPassword ( 'password' ) ,
19
24
} ;
20
25
} ) ;
21
26
22
27
describe ( '#add' , ( ) => {
23
28
it ( 'should add a new user' , async ( ) => {
24
- await userDb . add ( testUser . login , ' password' ) ;
29
+ await userDb . add ( testUser . login , password ) ;
25
30
const user = await userDb . get ( testUser . login ) ;
26
31
expect ( user . login ) . to . be . eq ( testUser . login ) ;
27
- expect ( user . hashedPassword ) . to . be . eq ( testUser . hashedPassword ) ;
32
+ expect ( await comparePassword ( password , user . hashedPassword ) ) . to . be . true ;
28
33
} ) ;
29
34
30
35
it ( 'should throw an error when trying to add an existing user' , async ( ) => {
31
36
let error = null ;
32
37
try {
33
- await userDb . add ( testUser . login , ' password' ) ;
38
+ await userDb . add ( testUser . login , password ) ;
34
39
} catch ( err ) {
35
40
error = err ;
36
41
}
@@ -45,7 +50,7 @@ describe('Node.API.Db', () => {
45
50
it ( 'should get a user' , async ( ) => {
46
51
const user = await userDb . get ( testUser . login ) ;
47
52
expect ( user . login ) . to . be . eq ( testUser . login ) ;
48
- expect ( user . hashedPassword ) . to . be . eq ( testUser . hashedPassword ) ;
53
+ expect ( await comparePassword ( password , user . hashedPassword ) ) . to . be . true ;
49
54
} ) ;
50
55
51
56
it ( 'should throw an error when trying to get a non-existent user' , async ( ) => {
0 commit comments