1
1
import { PIX_ADMIN , PIX_CERTIF , PIX_ORGA } from '../../../../../src/authorization/domain/constants.js' ;
2
+ import { NON_OIDC_IDENTITY_PROVIDERS } from '../../../../../src/identity-access-management/domain/constants/identity-providers.js' ;
2
3
import { createWarningConnectionEmail } from '../../../../../src/identity-access-management/domain/emails/create-warning-connection.email.js' ;
3
4
import {
4
5
MissingOrInvalidCredentialsError ,
@@ -20,6 +21,7 @@ describe('Unit | Identity Access Management | Domain | UseCases | authenticate-u
20
21
let adminMemberRepository ;
21
22
let pixAuthenticationService ;
22
23
let emailRepository ;
24
+ let authenticationMethodRepository ;
23
25
let emailValidationDemandRepository ;
24
26
let clock ;
25
27
@@ -46,6 +48,9 @@ describe('Unit | Identity Access Management | Domain | UseCases | authenticate-u
46
48
updateLastLoggedAt : sinon . stub ( ) ,
47
49
findByUserId : sinon . stub ( ) ,
48
50
} ;
51
+ authenticationMethodRepository = {
52
+ updateLastLoggedAtByIdentityProvider : sinon . stub ( ) ,
53
+ } ;
49
54
adminMemberRepository = {
50
55
get : sinon . stub ( ) ,
51
56
} ;
@@ -192,6 +197,7 @@ describe('Unit | Identity Access Management | Domain | UseCases | authenticate-u
192
197
pixAuthenticationService,
193
198
userRepository,
194
199
userLoginRepository,
200
+ authenticationMethodRepository,
195
201
adminMemberRepository,
196
202
refreshTokenRepository,
197
203
tokenService,
@@ -243,6 +249,7 @@ describe('Unit | Identity Access Management | Domain | UseCases | authenticate-u
243
249
refreshTokenRepository,
244
250
userRepository,
245
251
userLoginRepository,
252
+ authenticationMethodRepository,
246
253
audience,
247
254
} ) ;
248
255
@@ -267,7 +274,6 @@ describe('Unit | Identity Access Management | Domain | UseCases | authenticate-u
267
274
const audience = 'https://certif.pix.fr' ;
268
275
269
276
pixAuthenticationService . getUserByUsernameAndPassword . resolves ( user ) ;
270
-
271
277
const refreshToken = { value : 'jwt.refresh.token' , userId : '456' , scope, audience } ;
272
278
sinon . stub ( RefreshToken , 'generate' ) . returns ( refreshToken ) ;
273
279
@@ -286,6 +292,7 @@ describe('Unit | Identity Access Management | Domain | UseCases | authenticate-u
286
292
tokenService,
287
293
userRepository,
288
294
userLoginRepository,
295
+ authenticationMethodRepository,
289
296
audience,
290
297
} ) ;
291
298
@@ -307,7 +314,6 @@ describe('Unit | Identity Access Management | Domain | UseCases | authenticate-u
307
314
const audience = 'https://certif.pix.fr' ;
308
315
309
316
const user = domainBuilder . buildUser ( { email : userEmail } ) ;
310
-
311
317
pixAuthenticationService . getUserByUsernameAndPassword . resolves ( user ) ;
312
318
tokenService . createAccessTokenFromUser
313
319
. withArgs ( { userId : user . id , source, audience } )
@@ -324,11 +330,16 @@ describe('Unit | Identity Access Management | Domain | UseCases | authenticate-u
324
330
tokenService,
325
331
userRepository,
326
332
userLoginRepository,
333
+ authenticationMethodRepository,
327
334
audience,
328
335
} ) ;
329
336
330
337
// then
331
338
expect ( userLoginRepository . updateLastLoggedAt ) . to . have . been . calledWithExactly ( { userId : user . id } ) ;
339
+ expect ( authenticationMethodRepository . updateLastLoggedAtByIdentityProvider ) . to . have . been . calledWithExactly ( {
340
+ userId : user . id ,
341
+ identityProvider : NON_OIDC_IDENTITY_PROVIDERS . PIX . code ,
342
+ } ) ;
332
343
} ) ;
333
344
334
345
it ( 'should rejects an error when given username (email) does not match an existing one' , async function ( ) {
@@ -413,6 +424,7 @@ describe('Unit | Identity Access Management | Domain | UseCases | authenticate-u
413
424
tokenService,
414
425
userRepository,
415
426
userLoginRepository,
427
+ authenticationMethodRepository,
416
428
emailRepository,
417
429
emailValidationDemandRepository,
418
430
audience,
@@ -459,6 +471,7 @@ describe('Unit | Identity Access Management | Domain | UseCases | authenticate-u
459
471
tokenService,
460
472
userRepository,
461
473
userLoginRepository,
474
+ authenticationMethodRepository,
462
475
emailRepository,
463
476
audience,
464
477
} ) ;
@@ -503,6 +516,7 @@ describe('Unit | Identity Access Management | Domain | UseCases | authenticate-u
503
516
tokenService,
504
517
userRepository,
505
518
userLoginRepository,
519
+ authenticationMethodRepository,
506
520
emailRepository,
507
521
audience,
508
522
} ) ;
@@ -577,6 +591,7 @@ describe('Unit | Identity Access Management | Domain | UseCases | authenticate-u
577
591
tokenService,
578
592
userRepository,
579
593
userLoginRepository,
594
+ authenticationMethodRepository,
580
595
audience,
581
596
} ) ;
582
597
@@ -612,6 +627,7 @@ describe('Unit | Identity Access Management | Domain | UseCases | authenticate-u
612
627
refreshTokenRepository,
613
628
userRepository,
614
629
userLoginRepository,
630
+ authenticationMethodRepository,
615
631
audience,
616
632
} ) ;
617
633
@@ -645,6 +661,7 @@ describe('Unit | Identity Access Management | Domain | UseCases | authenticate-u
645
661
tokenService,
646
662
userRepository,
647
663
userLoginRepository,
664
+ authenticationMethodRepository,
648
665
audience,
649
666
} ) ;
650
667
0 commit comments