Skip to content

Commit 8da54e8

Browse files
committed
test: update jwt auth token service tests
- Use named arguments for mock reads - Verify never blacklist calls
1 parent 8478bc1 commit 8da54e8

File tree

1 file changed

+14
-14
lines changed

1 file changed

+14
-14
lines changed

test/src/services/jwt_auth_token_service_test.dart

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ void main() {
115115
// Generate a valid token for validation tests
116116
validToken = await service.generateToken(testUser);
117117
// Stub user repository to return the user when read is called
118-
when(() => mockUserRepository.read(testUser.id))
118+
when(() => mockUserRepository.read(id: testUser.id))
119119
.thenAnswer((_) async => testUser);
120120
// Stub blacklist service to return false (not blacklisted) by default
121121
when(() => mockBlacklistService.isBlacklisted(any()))
@@ -129,7 +129,7 @@ void main() {
129129
// Assert
130130
expect(user, isNotNull);
131131
expect(user, equals(testUser));
132-
verify(() => mockUserRepository.read(testUser.id)).called(1);
132+
verify(() => mockUserRepository.read(id: testUser.id)).called(1);
133133
});
134134

135135
test('throws UnauthorizedException for an expired token', () async {
@@ -168,7 +168,7 @@ void main() {
168168
),
169169
),
170170
);
171-
verifyNever(() => mockUserRepository.read(any()));
171+
verifyNever(() => mockUserRepository.read(id: any<String>(named: 'id')));
172172
});
173173

174174
// Removed the duplicated and incorrect test case above this line.
@@ -188,7 +188,7 @@ void main() {
188188
),
189189
),
190190
);
191-
verifyNever(() => mockUserRepository.read(any()));
191+
verifyNever(() => mockUserRepository.read(id: any<String>(named: 'id')));
192192
});
193193

194194
test('throws BadRequestException for token missing "sub" claim',
@@ -218,40 +218,40 @@ void main() {
218218
),
219219
),
220220
);
221-
verifyNever(() => mockUserRepository.read(any()));
221+
verifyNever(() => mockUserRepository.read(id: any<String>(named: 'id')));
222222
});
223223

224224
test('rethrows NotFoundException if user from token not found', () async {
225225
// Arrange
226226
const exception = NotFoundException('User not found');
227-
when(() => mockUserRepository.read(testUser.id)).thenThrow(exception);
227+
when(() => mockUserRepository.read(id: testUser.id)).thenThrow(exception);
228228

229229
// Act & Assert
230230
await expectLater(
231231
() => service.validateToken(validToken),
232232
throwsA(isA<NotFoundException>()),
233233
);
234-
verify(() => mockUserRepository.read(testUser.id)).called(1);
234+
verify(() => mockUserRepository.read(id: testUser.id)).called(1);
235235
});
236236

237237
test('rethrows other HtHttpException from user repository', () async {
238238
// Arrange
239239
const exception = ServerException('Database error');
240-
when(() => mockUserRepository.read(testUser.id)).thenThrow(exception);
240+
when(() => mockUserRepository.read(id: testUser.id)).thenThrow(exception);
241241

242242
// Act & Assert
243243
await expectLater(
244244
() => service.validateToken(validToken),
245245
throwsA(isA<ServerException>()),
246246
);
247-
verify(() => mockUserRepository.read(testUser.id)).called(1);
247+
verify(() => mockUserRepository.read(id: testUser.id)).called(1);
248248
});
249249

250250
test('throws OperationFailedException for unexpected validation error',
251251
() async {
252252
// Arrange
253253
final exception = Exception('Unexpected read error');
254-
when(() => mockUserRepository.read(testUser.id)).thenThrow(exception);
254+
when(() => mockUserRepository.read(id: testUser.id)).thenThrow(exception);
255255

256256
// Act & Assert
257257
await expectLater(
@@ -264,7 +264,7 @@ void main() {
264264
),
265265
),
266266
);
267-
verify(() => mockUserRepository.read(testUser.id)).called(1);
267+
verify(() => mockUserRepository.read(id: testUser.id)).called(1);
268268
});
269269
});
270270

@@ -320,7 +320,7 @@ void main() {
320320
),
321321
),
322322
);
323-
verifyNever(() => mockBlacklistService.blacklist(any(), any()));
323+
verifyNever(() => mockBlacklistService.blacklist(any<String>(), any<DateTime>()));
324324
});
325325

326326
test('throws InvalidInputException for token missing "jti" claim',
@@ -351,7 +351,7 @@ void main() {
351351
),
352352
),
353353
);
354-
verifyNever(() => mockBlacklistService.blacklist(any(), any()));
354+
verifyNever(() => mockBlacklistService.blacklist(any<String>(), any<DateTime>()));
355355
});
356356

357357
test('throws InvalidInputException for token missing "exp" claim',
@@ -380,7 +380,7 @@ void main() {
380380
),
381381
),
382382
);
383-
verifyNever(() => mockBlacklistService.blacklist(any(), any()));
383+
verifyNever(() => mockBlacklistService.blacklist(any<String>(), any<DateTime>()));
384384
});
385385

386386
test('rethrows HtHttpException from blacklist service', () async {

0 commit comments

Comments
 (0)