-
Notifications
You must be signed in to change notification settings - Fork 26
Expand file tree
/
Copy pathjunit.xml
More file actions
559 lines (559 loc) · 54 KB
/
junit.xml
File metadata and controls
559 lines (559 loc) · 54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
<?xml version="1.0" encoding="UTF-8"?>
<testsuites name="jest tests" tests="255" failures="0" errors="0" time="55.173">
<testsuite name="MfaService" errors="0" failures="0" skipped="0" timestamp="2026-02-23T04:14:20" time="15.71" tests="8">
<testcase classname="MfaService generateMfaSecret should generate MFA secret and QR code" name="MfaService generateMfaSecret should generate MFA secret and QR code" time="1.612">
</testcase>
<testcase classname="MfaService verifyMfaSetup should verify MFA setup with valid token" name="MfaService verifyMfaSetup should verify MFA setup with valid token" time="0.016">
</testcase>
<testcase classname="MfaService verifyMfaSetup should throw error for expired setup session" name="MfaService verifyMfaSetup should throw error for expired setup session" time="0.045">
</testcase>
<testcase classname="MfaService isMfaEnabled should return true when MFA is enabled" name="MfaService isMfaEnabled should return true when MFA is enabled" time="0.013">
</testcase>
<testcase classname="MfaService isMfaEnabled should return false when MFA is not enabled" name="MfaService isMfaEnabled should return false when MFA is not enabled" time="0.015">
</testcase>
<testcase classname="MfaService generateBackupCodes should generate 10 backup codes" name="MfaService generateBackupCodes should generate 10 backup codes" time="0.027">
</testcase>
<testcase classname="MfaService getMfaStatus should return correct MFA status when enabled" name="MfaService getMfaStatus should return correct MFA status when enabled" time="0.011">
</testcase>
<testcase classname="MfaService getMfaStatus should return correct MFA status when disabled" name="MfaService getMfaStatus should return correct MFA status when disabled" time="0.01">
</testcase>
</testsuite>
<testsuite name="PropertiesController" errors="0" failures="0" skipped="0" timestamp="2026-02-23T04:14:35" time="4.184" tests="10">
<testcase classname="PropertiesController create should create a property" name="PropertiesController create should create a property" time="0.024">
</testcase>
<testcase classname="PropertiesController findAll should return paginated properties" name="PropertiesController findAll should return paginated properties" time="0.015">
</testcase>
<testcase classname="PropertiesController findAll should handle filters correctly" name="PropertiesController findAll should handle filters correctly" time="0.019">
</testcase>
<testcase classname="PropertiesController getStatistics should return property statistics" name="PropertiesController getStatistics should return property statistics" time="0.016">
</testcase>
<testcase classname="PropertiesController findByOwner should return properties by owner" name="PropertiesController findByOwner should return properties by owner" time="0.014">
</testcase>
<testcase classname="PropertiesController findByOwner should pass query parameters to service" name="PropertiesController findByOwner should pass query parameters to service" time="0.01">
</testcase>
<testcase classname="PropertiesController findOne should return a property by ID" name="PropertiesController findOne should return a property by ID" time="0.007">
</testcase>
<testcase classname="PropertiesController update should update a property" name="PropertiesController update should update a property" time="0.01">
</testcase>
<testcase classname="PropertiesController updateStatus should update property status" name="PropertiesController updateStatus should update property status" time="0.016">
</testcase>
<testcase classname="PropertiesController remove should delete a property" name="PropertiesController remove should delete a property" time="0.012">
</testcase>
</testsuite>
<testsuite name="DocumentController" errors="0" failures="0" skipped="0" timestamp="2026-02-23T04:14:40" time="3.302" tests="1">
<testcase classname="DocumentController parses metadata and forwards upload request" name="DocumentController parses metadata and forwards upload request" time="0.016">
</testcase>
</testsuite>
<testsuite name="PropertiesService" errors="0" failures="0" skipped="0" timestamp="2026-02-23T04:14:43" time="2.545" tests="20">
<testcase classname="PropertiesService create should create a property successfully" name="PropertiesService create should create a property successfully" time="0.055">
</testcase>
<testcase classname="PropertiesService create should throw NotFoundException if user does not exist" name="PropertiesService create should throw NotFoundException if user does not exist" time="0.19">
</testcase>
<testcase classname="PropertiesService create should handle database errors" name="PropertiesService create should handle database errors" time="0.033">
</testcase>
<testcase classname="PropertiesService findAll should return paginated properties with filters" name="PropertiesService findAll should return paginated properties with filters" time="0.038">
</testcase>
<testcase classname="PropertiesService findAll should apply search filter correctly" name="PropertiesService findAll should apply search filter correctly" time="0.023">
</testcase>
<testcase classname="PropertiesService findAll should apply price range filter correctly" name="PropertiesService findAll should apply price range filter correctly" time="0.038">
</testcase>
<testcase classname="PropertiesService findOne should return a property by ID" name="PropertiesService findOne should return a property by ID" time="0.025">
</testcase>
<testcase classname="PropertiesService findOne should throw NotFoundException if property does not exist" name="PropertiesService findOne should throw NotFoundException if property does not exist" time="0.031">
</testcase>
<testcase classname="PropertiesService update should update a property successfully" name="PropertiesService update should update a property successfully" time="0.023">
</testcase>
<testcase classname="PropertiesService update should throw NotFoundException if property does not exist" name="PropertiesService update should throw NotFoundException if property does not exist" time="0.024">
</testcase>
<testcase classname="PropertiesService remove should delete a property successfully" name="PropertiesService remove should delete a property successfully" time="0.023">
</testcase>
<testcase classname="PropertiesService remove should throw NotFoundException if property does not exist" name="PropertiesService remove should throw NotFoundException if property does not exist" time="0.016">
</testcase>
<testcase classname="PropertiesService searchNearby should search properties near a location" name="PropertiesService searchNearby should search properties near a location" time="0.014">
</testcase>
<testcase classname="PropertiesService updateStatus should update property status with valid transition" name="PropertiesService updateStatus should update property status with valid transition" time="0.011">
</testcase>
<testcase classname="PropertiesService updateStatus should throw BadRequestException for invalid status transition" name="PropertiesService updateStatus should throw BadRequestException for invalid status transition" time="0.008">
</testcase>
<testcase classname="PropertiesService findByOwner should return properties by owner" name="PropertiesService findByOwner should return properties by owner" time="0.01">
</testcase>
<testcase classname="PropertiesService getStatistics should return property statistics" name="PropertiesService getStatistics should return property statistics" time="0.008">
</testcase>
<testcase classname="PropertiesService helper methods should format address correctly" name="PropertiesService helper methods should format address correctly" time="0.03">
</testcase>
<testcase classname="PropertiesService helper methods should map property status correctly" name="PropertiesService helper methods should map property status correctly" time="0.009">
</testcase>
<testcase classname="PropertiesService helper methods should validate status transitions correctly" name="PropertiesService helper methods should validate status transitions correctly" time="0.01">
</testcase>
</testsuite>
<testsuite name="ApiKeyService" errors="0" failures="0" skipped="0" timestamp="2026-02-23T04:14:46" time="1.703" tests="13">
<testcase classname="ApiKeyService should be defined" name="ApiKeyService should be defined" time="0.017">
</testcase>
<testcase classname="ApiKeyService create should create a new API key with valid scopes" name="ApiKeyService create should create a new API key with valid scopes" time="0.021">
</testcase>
<testcase classname="ApiKeyService create should throw BadRequestException for invalid scopes" name="ApiKeyService create should throw BadRequestException for invalid scopes" time="0.078">
</testcase>
<testcase classname="ApiKeyService findAll should return all API keys" name="ApiKeyService findAll should return all API keys" time="0.02">
</testcase>
<testcase classname="ApiKeyService findOne should return a single API key" name="ApiKeyService findOne should return a single API key" time="0.015">
</testcase>
<testcase classname="ApiKeyService findOne should throw NotFoundException if API key not found" name="ApiKeyService findOne should throw NotFoundException if API key not found" time="0.016">
</testcase>
<testcase classname="ApiKeyService update should update an API key" name="ApiKeyService update should update an API key" time="0.017">
</testcase>
<testcase classname="ApiKeyService update should throw NotFoundException if API key not found" name="ApiKeyService update should throw NotFoundException if API key not found" time="0.012">
</testcase>
<testcase classname="ApiKeyService revoke should revoke an API key" name="ApiKeyService revoke should revoke an API key" time="0.03">
</testcase>
<testcase classname="ApiKeyService revoke should throw NotFoundException if API key not found" name="ApiKeyService revoke should throw NotFoundException if API key not found" time="0.013">
</testcase>
<testcase classname="ApiKeyService validateApiKey should throw UnauthorizedException for invalid key format" name="ApiKeyService validateApiKey should throw UnauthorizedException for invalid key format" time="0.015">
</testcase>
<testcase classname="ApiKeyService validateApiKey should throw UnauthorizedException for non-existent key" name="ApiKeyService validateApiKey should throw UnauthorizedException for non-existent key" time="0.021">
</testcase>
<testcase classname="ApiKeyService validateApiKey should throw UnauthorizedException when rate limit exceeded" name="ApiKeyService validateApiKey should throw UnauthorizedException when rate limit exceeded" time="0.028">
</testcase>
</testsuite>
<testsuite name="AuthService" errors="0" failures="0" skipped="0" timestamp="2026-02-23T04:14:47" time="1.782" tests="4">
<testcase classname="AuthService register should register a new user" name="AuthService register should register a new user" time="0.38">
</testcase>
<testcase classname="AuthService login brute force protection should increment login attempts on invalid credentials" name="AuthService login brute force protection should increment login attempts on invalid credentials" time="0.131">
</testcase>
<testcase classname="AuthService login brute force protection should block when max attempts reached" name="AuthService login brute force protection should block when max attempts reached" time="0.036">
</testcase>
<testcase classname="AuthService login brute force protection should clear attempts after successful login" name="AuthService login brute force protection should clear attempts after successful login" time="0.046">
</testcase>
</testsuite>
<testsuite name="ValuationController" errors="0" failures="0" skipped="0" timestamp="2026-02-23T04:14:49" time="1.816" tests="4">
<testcase classname="ValuationController should be defined" name="ValuationController should be defined" time="0.314">
</testcase>
<testcase classname="ValuationController getValuation should call valuation service to get property valuation" name="ValuationController getValuation should call valuation service to get property valuation" time="0.019">
</testcase>
<testcase classname="ValuationController getPropertyHistory should call valuation service to get property history" name="ValuationController getPropertyHistory should call valuation service to get property history" time="0.01">
</testcase>
<testcase classname="ValuationController getMarketTrendAnalysis should call valuation service to get market trend analysis" name="ValuationController getMarketTrendAnalysis should call valuation service to get market trend analysis" time="0.009">
</testcase>
</testsuite>
<testsuite name="Property DTOs" errors="0" failures="0" skipped="0" timestamp="2026-02-23T04:14:51" time="1.387" tests="22">
<testcase classname="Property DTOs AddressDto should pass with valid address" name="Property DTOs AddressDto should pass with valid address" time="0.013">
</testcase>
<testcase classname="Property DTOs AddressDto should pass with optional fields" name="Property DTOs AddressDto should pass with optional fields" time="0.003">
</testcase>
<testcase classname="Property DTOs AddressDto should fail with empty street" name="Property DTOs AddressDto should fail with empty street" time="0.003">
</testcase>
<testcase classname="Property DTOs AddressDto should fail with street too long" name="Property DTOs AddressDto should fail with street too long" time="0.002">
</testcase>
<testcase classname="Property DTOs AddressDto should fail with missing required fields" name="Property DTOs AddressDto should fail with missing required fields" time="0.002">
</testcase>
<testcase classname="Property DTOs CreatePropertyDto should pass with valid property data" name="Property DTOs CreatePropertyDto should pass with valid property data" time="0.003">
</testcase>
<testcase classname="Property DTOs CreatePropertyDto should pass with all optional fields" name="Property DTOs CreatePropertyDto should pass with all optional fields" time="0.004">
</testcase>
<testcase classname="Property DTOs CreatePropertyDto should fail with empty title" name="Property DTOs CreatePropertyDto should fail with empty title" time="0.003">
</testcase>
<testcase classname="Property DTOs CreatePropertyDto should fail with title too long" name="Property DTOs CreatePropertyDto should fail with title too long" time="0.003">
</testcase>
<testcase classname="Property DTOs CreatePropertyDto should fail with negative price" name="Property DTOs CreatePropertyDto should fail with negative price" time="0.004">
</testcase>
<testcase classname="Property DTOs CreatePropertyDto should fail with zero price" name="Property DTOs CreatePropertyDto should fail with zero price" time="0.002">
</testcase>
<testcase classname="Property DTOs CreatePropertyDto should fail with price too high" name="Property DTOs CreatePropertyDto should fail with price too high" time="0.009">
</testcase>
<testcase classname="Property DTOs CreatePropertyDto should fail with invalid nested address" name="Property DTOs CreatePropertyDto should fail with invalid nested address" time="0.003">
</testcase>
<testcase classname="Property DTOs CreatePropertyDto should fail with too many features" name="Property DTOs CreatePropertyDto should fail with too many features" time="0.004">
</testcase>
<testcase classname="Property DTOs CreatePropertyDto should fail with invalid property type" name="Property DTOs CreatePropertyDto should fail with invalid property type" time="0.002">
</testcase>
<testcase classname="Property DTOs CreatePropertyDto should fail with negative bedrooms" name="Property DTOs CreatePropertyDto should fail with negative bedrooms" time="0.001">
</testcase>
<testcase classname="Property DTOs CreatePropertyDto should fail with bedrooms too high" name="Property DTOs CreatePropertyDto should fail with bedrooms too high" time="0.002">
</testcase>
<testcase classname="Property DTOs PropertyQueryDto should pass with valid query parameters" name="Property DTOs PropertyQueryDto should pass with valid query parameters" time="0.003">
</testcase>
<testcase classname="Property DTOs PropertyQueryDto should pass with empty query" name="Property DTOs PropertyQueryDto should pass with empty query" time="0.002">
</testcase>
<testcase classname="Property DTOs PropertyQueryDto should fail with negative minPrice" name="Property DTOs PropertyQueryDto should fail with negative minPrice" time="0.004">
</testcase>
<testcase classname="Property DTOs PropertyQueryDto should fail with invalid property type" name="Property DTOs PropertyQueryDto should fail with invalid property type" time="0.002">
</testcase>
<testcase classname="Property DTOs PropertyQueryDto should fail with invalid status" name="Property DTOs PropertyQueryDto should fail with invalid status" time="0.002">
</testcase>
</testsuite>
<testsuite name="User DTOs" errors="0" failures="0" skipped="0" timestamp="2026-02-23T04:14:53" time="1.887" tests="13">
<testcase classname="User DTOs CreateUserDto should pass with valid user data" name="User DTOs CreateUserDto should pass with valid user data" time="0.029">
</testcase>
<testcase classname="User DTOs CreateUserDto should pass with optional wallet address" name="User DTOs CreateUserDto should pass with optional wallet address" time="0.013">
</testcase>
<testcase classname="User DTOs CreateUserDto should fail with invalid email" name="User DTOs CreateUserDto should fail with invalid email" time="0.009">
</testcase>
<testcase classname="User DTOs CreateUserDto should fail with email too long" name="User DTOs CreateUserDto should fail with email too long" time="0.005">
</testcase>
<testcase classname="User DTOs CreateUserDto should fail with empty first name" name="User DTOs CreateUserDto should fail with empty first name" time="0.007">
</testcase>
<testcase classname="User DTOs CreateUserDto should fail with first name containing numbers" name="User DTOs CreateUserDto should fail with first name containing numbers" time="0.012">
</testcase>
<testcase classname="User DTOs CreateUserDto should pass with hyphenated names" name="User DTOs CreateUserDto should pass with hyphenated names" time="0.011">
</testcase>
<testcase classname="User DTOs CreateUserDto should fail with first name too long" name="User DTOs CreateUserDto should fail with first name too long" time="0.02">
</testcase>
<testcase classname="User DTOs CreateUserDto should fail with weak password" name="User DTOs CreateUserDto should fail with weak password" time="0.005">
</testcase>
<testcase classname="User DTOs CreateUserDto should fail with password missing uppercase" name="User DTOs CreateUserDto should fail with password missing uppercase" time="0.004">
</testcase>
<testcase classname="User DTOs CreateUserDto should fail with password too short" name="User DTOs CreateUserDto should fail with password too short" time="0.007">
</testcase>
<testcase classname="User DTOs CreateUserDto should fail with invalid wallet address" name="User DTOs CreateUserDto should fail with invalid wallet address" time="0.003">
</testcase>
<testcase classname="User DTOs CreateUserDto should fail with all fields missing" name="User DTOs CreateUserDto should fail with all fields missing" time="0.002">
</testcase>
</testsuite>
<testsuite name="Auth DTOs" errors="0" failures="0" skipped="0" timestamp="2026-02-23T04:14:55" time="1.361" tests="22">
<testcase classname="Auth DTOs LoginEmailDto should pass with valid email and password" name="Auth DTOs LoginEmailDto should pass with valid email and password" time="0.006">
</testcase>
<testcase classname="Auth DTOs LoginEmailDto should fail with invalid email" name="Auth DTOs LoginEmailDto should fail with invalid email" time="0.006">
</testcase>
<testcase classname="Auth DTOs LoginEmailDto should fail with empty email" name="Auth DTOs LoginEmailDto should fail with empty email" time="0.004">
</testcase>
<testcase classname="Auth DTOs LoginEmailDto should fail with empty password" name="Auth DTOs LoginEmailDto should fail with empty password" time="0.008">
</testcase>
<testcase classname="Auth DTOs LoginEmailDto should fail with missing fields" name="Auth DTOs LoginEmailDto should fail with missing fields" time="0.016">
</testcase>
<testcase classname="Auth DTOs LoginWeb3Dto should pass with valid wallet address and signature" name="Auth DTOs LoginWeb3Dto should pass with valid wallet address and signature" time="0.031">
</testcase>
<testcase classname="Auth DTOs LoginWeb3Dto should fail with invalid wallet address" name="Auth DTOs LoginWeb3Dto should fail with invalid wallet address" time="0.021">
</testcase>
<testcase classname="Auth DTOs LoginWeb3Dto should fail with empty signature" name="Auth DTOs LoginWeb3Dto should fail with empty signature" time="0.024">
</testcase>
<testcase classname="Auth DTOs LoginDto (Combined) should pass with email and password" name="Auth DTOs LoginDto (Combined) should pass with email and password" time="0.023">
</testcase>
<testcase classname="Auth DTOs LoginDto (Combined) should pass with wallet address and signature" name="Auth DTOs LoginDto (Combined) should pass with wallet address and signature" time="0.012">
</testcase>
<testcase classname="Auth DTOs LoginDto (Combined) should fail with neither email nor wallet" name="Auth DTOs LoginDto (Combined) should fail with neither email nor wallet" time="0.005">
</testcase>
<testcase classname="Auth DTOs RefreshTokenDto should pass with valid JWT" name="Auth DTOs RefreshTokenDto should pass with valid JWT" time="0.008">
</testcase>
<testcase classname="Auth DTOs RefreshTokenDto should fail with invalid JWT format" name="Auth DTOs RefreshTokenDto should fail with invalid JWT format" time="0.005">
</testcase>
<testcase classname="Auth DTOs RefreshTokenDto should fail with empty token" name="Auth DTOs RefreshTokenDto should fail with empty token" time="0.014">
</testcase>
<testcase classname="Auth DTOs ForgotPasswordDto should pass with valid email" name="Auth DTOs ForgotPasswordDto should pass with valid email" time="0.001">
</testcase>
<testcase classname="Auth DTOs ForgotPasswordDto should fail with invalid email" name="Auth DTOs ForgotPasswordDto should fail with invalid email" time="0.002">
</testcase>
<testcase classname="Auth DTOs ForgotPasswordDto should fail with empty email" name="Auth DTOs ForgotPasswordDto should fail with empty email" time="0.002">
</testcase>
<testcase classname="Auth DTOs ResetPasswordDto should pass with valid token and strong password" name="Auth DTOs ResetPasswordDto should pass with valid token and strong password" time="0.004">
</testcase>
<testcase classname="Auth DTOs ResetPasswordDto should fail with weak password" name="Auth DTOs ResetPasswordDto should fail with weak password" time="0.004">
</testcase>
<testcase classname="Auth DTOs ResetPasswordDto should fail with password missing special character" name="Auth DTOs ResetPasswordDto should fail with password missing special character" time="0.003">
</testcase>
<testcase classname="Auth DTOs ResetPasswordDto should fail with empty token" name="Auth DTOs ResetPasswordDto should fail with empty token" time="0.002">
</testcase>
<testcase classname="Auth DTOs ResetPasswordDto should fail with password too long" name="Auth DTOs ResetPasswordDto should fail with password too long" time="0.002">
</testcase>
</testsuite>
<testsuite name="Common DTOs" errors="0" failures="0" skipped="0" timestamp="2026-02-23T04:14:56" time="1.385" tests="12">
<testcase classname="Common DTOs PaginationDto should pass with valid page and limit" name="Common DTOs PaginationDto should pass with valid page and limit" time="0.013">
</testcase>
<testcase classname="Common DTOs PaginationDto should pass with default values when empty" name="Common DTOs PaginationDto should pass with default values when empty" time="0.006">
</testcase>
<testcase classname="Common DTOs PaginationDto should fail when page is less than 1" name="Common DTOs PaginationDto should fail when page is less than 1" time="0.011">
</testcase>
<testcase classname="Common DTOs PaginationDto should fail when limit exceeds 100" name="Common DTOs PaginationDto should fail when limit exceeds 100" time="0.019">
</testcase>
<testcase classname="Common DTOs PaginationDto should fail when page is not an integer" name="Common DTOs PaginationDto should fail when page is not an integer" time="0.034">
</testcase>
<testcase classname="Common DTOs SortDto should pass with valid sortBy and sortOrder" name="Common DTOs SortDto should pass with valid sortBy and sortOrder" time="0.011">
</testcase>
<testcase classname="Common DTOs SortDto should pass with default sortOrder when empty" name="Common DTOs SortDto should pass with default sortOrder when empty" time="0.013">
</testcase>
<testcase classname="Common DTOs SortDto should fail with invalid sortOrder" name="Common DTOs SortDto should fail with invalid sortOrder" time="0.015">
</testcase>
<testcase classname="Common DTOs DateRangeDto should pass with valid ISO 8601 dates" name="Common DTOs DateRangeDto should pass with valid ISO 8601 dates" time="0.015">
</testcase>
<testcase classname="Common DTOs DateRangeDto should pass when both fields are empty" name="Common DTOs DateRangeDto should pass when both fields are empty" time="0.003">
</testcase>
<testcase classname="Common DTOs DateRangeDto should fail with invalid date format" name="Common DTOs DateRangeDto should fail with invalid date format" time="0.004">
</testcase>
<testcase classname="Common DTOs DateRangeDto should fail with non-ISO date format" name="Common DTOs DateRangeDto should fail with non-ISO date format" time="0.007">
</testcase>
</testsuite>
<testsuite name="Custom Validators" errors="0" failures="0" skipped="0" timestamp="2026-02-23T04:14:57" time="1.306" tests="16">
<testcase classname="Custom Validators IsEthereumAddress should pass with valid Ethereum address" name="Custom Validators IsEthereumAddress should pass with valid Ethereum address" time="0.003">
</testcase>
<testcase classname="Custom Validators IsEthereumAddress should pass with lowercase Ethereum address" name="Custom Validators IsEthereumAddress should pass with lowercase Ethereum address" time="0.002">
</testcase>
<testcase classname="Custom Validators IsEthereumAddress should pass with uppercase Ethereum address" name="Custom Validators IsEthereumAddress should pass with uppercase Ethereum address" time="0.002">
</testcase>
<testcase classname="Custom Validators IsEthereumAddress should fail without 0x prefix" name="Custom Validators IsEthereumAddress should fail without 0x prefix" time="0.003">
</testcase>
<testcase classname="Custom Validators IsEthereumAddress should fail with too short address" name="Custom Validators IsEthereumAddress should fail with too short address" time="0.002">
</testcase>
<testcase classname="Custom Validators IsEthereumAddress should fail with too long address" name="Custom Validators IsEthereumAddress should fail with too long address" time="0.001">
</testcase>
<testcase classname="Custom Validators IsEthereumAddress should fail with invalid characters" name="Custom Validators IsEthereumAddress should fail with invalid characters" time="0.001">
</testcase>
<testcase classname="Custom Validators IsEthereumAddress should fail with empty string" name="Custom Validators IsEthereumAddress should fail with empty string" time="0.001">
</testcase>
<testcase classname="Custom Validators IsStrongPassword should pass with strong password" name="Custom Validators IsStrongPassword should pass with strong password" time="0.002">
</testcase>
<testcase classname="Custom Validators IsStrongPassword should pass with various special characters" name="Custom Validators IsStrongPassword should pass with various special characters" time="0.008">
</testcase>
<testcase classname="Custom Validators IsStrongPassword should fail with password too short" name="Custom Validators IsStrongPassword should fail with password too short" time="0.002">
</testcase>
<testcase classname="Custom Validators IsStrongPassword should fail without uppercase letter" name="Custom Validators IsStrongPassword should fail without uppercase letter" time="0.002">
</testcase>
<testcase classname="Custom Validators IsStrongPassword should fail without lowercase letter" name="Custom Validators IsStrongPassword should fail without lowercase letter" time="0.002">
</testcase>
<testcase classname="Custom Validators IsStrongPassword should fail without number" name="Custom Validators IsStrongPassword should fail without number" time="0.013">
</testcase>
<testcase classname="Custom Validators IsStrongPassword should fail without special character" name="Custom Validators IsStrongPassword should fail without special character" time="0.002">
</testcase>
<testcase classname="Custom Validators IsStrongPassword should fail with empty string" name="Custom Validators IsStrongPassword should fail with empty string" time="0.002">
</testcase>
</testsuite>
<testsuite name="DocumentService" errors="0" failures="0" skipped="0" timestamp="2026-02-23T04:14:59" time="1.289" tests="5">
<testcase classname="DocumentService uploads documents and generates thumbnails for images" name="DocumentService uploads documents and generates thumbnails for images" time="0.068">
</testcase>
<testcase classname="DocumentService stores new versions and updates current version" name="DocumentService stores new versions and updates current version" time="0.013">
</testcase>
<testcase classname="DocumentService enforces access permissions" name="DocumentService enforces access permissions" time="0.007">
</testcase>
<testcase classname="DocumentService blocks infected files during virus scan" name="DocumentService blocks infected files during virus scan" time="0.07">
</testcase>
<testcase classname="DocumentService returns signed download URLs" name="DocumentService returns signed download URLs" time="0.009">
</testcase>
</testsuite>
<testsuite name="RateLimitingService" errors="0" failures="0" skipped="0" timestamp="2026-02-23T04:15:00" time="0.845" tests="6">
<testcase classname="RateLimitingService should be defined" name="RateLimitingService should be defined" time="0.017">
</testcase>
<testcase classname="RateLimitingService checkRateLimit should allow request when under limit" name="RateLimitingService checkRateLimit should allow request when under limit" time="0.009">
</testcase>
<testcase classname="RateLimitingService checkRateLimit should block request when over limit" name="RateLimitingService checkRateLimit should block request when over limit" time="0.007">
</testcase>
<testcase classname="RateLimitingService checkRateLimit should handle Redis errors gracefully" name="RateLimitingService checkRateLimit should handle Redis errors gracefully" time="0.028">
</testcase>
<testcase classname="RateLimitingService getRateLimitInfo should return correct rate limit info" name="RateLimitingService getRateLimitInfo should return correct rate limit info" time="0.015">
</testcase>
<testcase classname="RateLimitingService getDefaultConfigurations should return default configurations" name="RateLimitingService getDefaultConfigurations should return default configurations" time="0.016">
</testcase>
</testsuite>
<testsuite name="PaginationService" errors="0" failures="0" skipped="0" timestamp="2026-02-23T04:15:01" time="0.922" tests="28">
<testcase classname="PaginationService calculatePagination should calculate correct offset and limit for first page" name="PaginationService calculatePagination should calculate correct offset and limit for first page" time="0.016">
</testcase>
<testcase classname="PaginationService calculatePagination should calculate correct offset for page 2" name="PaginationService calculatePagination should calculate correct offset for page 2" time="0.014">
</testcase>
<testcase classname="PaginationService calculatePagination should calculate correct offset for page 5" name="PaginationService calculatePagination should calculate correct offset for page 5" time="0.004">
</testcase>
<testcase classname="PaginationService calculatePagination should enforce maximum limit" name="PaginationService calculatePagination should enforce maximum limit" time="0.004">
</testcase>
<testcase classname="PaginationService calculatePagination should enforce minimum limit" name="PaginationService calculatePagination should enforce minimum limit" time="0.008">
</testcase>
<testcase classname="PaginationService calculatePagination should handle negative page numbers" name="PaginationService calculatePagination should handle negative page numbers" time="0.005">
</testcase>
<testcase classname="PaginationService calculatePagination should use defaults when no parameters provided" name="PaginationService calculatePagination should use defaults when no parameters provided" time="0.009">
</testcase>
<testcase classname="PaginationService createMetadata should calculate correct pagination metadata for first page" name="PaginationService createMetadata should calculate correct pagination metadata for first page" time="0.007">
</testcase>
<testcase classname="PaginationService createMetadata should calculate correct metadata for middle page" name="PaginationService createMetadata should calculate correct metadata for middle page" time="0.008">
</testcase>
<testcase classname="PaginationService createMetadata should calculate correct metadata for last page" name="PaginationService createMetadata should calculate correct metadata for last page" time="0.007">
</testcase>
<testcase classname="PaginationService createMetadata should handle single page result" name="PaginationService createMetadata should handle single page result" time="0.008">
</testcase>
<testcase classname="PaginationService createMetadata should handle exact page boundary" name="PaginationService createMetadata should handle exact page boundary" time="0.005">
</testcase>
<testcase classname="PaginationService createMetadata should include sort information" name="PaginationService createMetadata should include sort information" time="0.007">
</testcase>
<testcase classname="PaginationService createMetadata should use default sort values" name="PaginationService createMetadata should use default sort values" time="0.007">
</testcase>
<testcase classname="PaginationService formatResponse should format response with data and metadata" name="PaginationService formatResponse should format response with data and metadata" time="0.005">
</testcase>
<testcase classname="PaginationService formatResponse should handle empty data array" name="PaginationService formatResponse should handle empty data array" time="0.017">
</testcase>
<testcase classname="PaginationService formatResponse should preserve sort parameters in response" name="PaginationService formatResponse should preserve sort parameters in response" time="0.008">
</testcase>
<testcase classname="PaginationService parsePaginationQuery should parse valid pagination query" name="PaginationService parsePaginationQuery should parse valid pagination query" time="0.005">
</testcase>
<testcase classname="PaginationService parsePaginationQuery should apply defaults for missing values" name="PaginationService parsePaginationQuery should apply defaults for missing values" time="0.008">
</testcase>
<testcase classname="PaginationService parsePaginationQuery should enforce limits on values" name="PaginationService parsePaginationQuery should enforce limits on values" time="0.005">
</testcase>
<testcase classname="PaginationService getPrismaOptions should generate correct Prisma query options" name="PaginationService getPrismaOptions should generate correct Prisma query options" time="0.005">
</testcase>
<testcase classname="PaginationService getPrismaOptions should use default orderByField when not specified in query" name="PaginationService getPrismaOptions should use default orderByField when not specified in query" time="0.008">
</testcase>
<testcase classname="PaginationService getPrismaOptions should handle custom sort field" name="PaginationService getPrismaOptions should handle custom sort field" time="0.005">
</testcase>
<testcase classname="PaginationService getPrismaOptions should calculate correct skip and take for page 3" name="PaginationService getPrismaOptions should calculate correct skip and take for page 3" time="0.005">
</testcase>
<testcase classname="PaginationService validation should handle very large page numbers" name="PaginationService validation should handle very large page numbers" time="0.006">
</testcase>
<testcase classname="PaginationService validation should handle zero limit gracefully" name="PaginationService validation should handle zero limit gracefully" time="0.004">
</testcase>
<testcase classname="PaginationService validation should handle negative limit gracefully" name="PaginationService validation should handle negative limit gracefully" time="0.005">
</testcase>
<testcase classname="PaginationService validation should calculate correct page count for non-divisible totals" name="PaginationService validation should calculate correct page count for non-divisible totals" time="0.008">
</testcase>
</testsuite>
<testsuite name="IpBlockingService" errors="0" failures="0" skipped="0" timestamp="2026-02-23T04:15:02" time="1.342" tests="11">
<testcase classname="IpBlockingService should be defined" name="IpBlockingService should be defined" time="0.025">
</testcase>
<testcase classname="IpBlockingService isIpBlocked should return false when IP is not blocked" name="IpBlockingService isIpBlocked should return false when IP is not blocked" time="0.016">
</testcase>
<testcase classname="IpBlockingService isIpBlocked should return true when IP is blocked" name="IpBlockingService isIpBlocked should return true when IP is blocked" time="0.019">
</testcase>
<testcase classname="IpBlockingService isIpBlocked should unblock IP when block has expired" name="IpBlockingService isIpBlocked should unblock IP when block has expired" time="0.016">
</testcase>
<testcase classname="IpBlockingService isIpWhitelisted should return true when IP is whitelisted" name="IpBlockingService isIpWhitelisted should return true when IP is whitelisted" time="0.033">
</testcase>
<testcase classname="IpBlockingService isIpWhitelisted should return false when IP is not whitelisted" name="IpBlockingService isIpWhitelisted should return false when IP is not whitelisted" time="0.018">
</testcase>
<testcase classname="IpBlockingService blockIp should block IP with duration" name="IpBlockingService blockIp should block IP with duration" time="0.019">
</testcase>
<testcase classname="IpBlockingService blockIp should not block whitelisted IP" name="IpBlockingService blockIp should not block whitelisted IP" time="0.015">
</testcase>
<testcase classname="IpBlockingService addToWhitelist should add IP to whitelist" name="IpBlockingService addToWhitelist should add IP to whitelist" time="0.016">
</testcase>
<testcase classname="IpBlockingService addToWhitelist should not duplicate IPs in whitelist" name="IpBlockingService addToWhitelist should not duplicate IPs in whitelist" time="0.019">
</testcase>
<testcase classname="IpBlockingService recordFailedAttempt should record failed attempt and auto-block when threshold exceeded" name="IpBlockingService recordFailedAttempt should record failed attempt and auto-block when threshold exceeded" time="0.028">
</testcase>
</testsuite>
<testsuite name="API Key DTOs" errors="0" failures="0" skipped="0" timestamp="2026-02-23T04:15:03" time="1.45" tests="15">
<testcase classname="API Key DTOs CreateApiKeyDto should pass with valid API key data" name="API Key DTOs CreateApiKeyDto should pass with valid API key data" time="0.004">
</testcase>
<testcase classname="API Key DTOs CreateApiKeyDto should pass with optional rate limit" name="API Key DTOs CreateApiKeyDto should pass with optional rate limit" time="0.003">
</testcase>
<testcase classname="API Key DTOs CreateApiKeyDto should fail with empty name" name="API Key DTOs CreateApiKeyDto should fail with empty name" time="0.002">
</testcase>
<testcase classname="API Key DTOs CreateApiKeyDto should fail with name too long" name="API Key DTOs CreateApiKeyDto should fail with name too long" time="0.002">
</testcase>
<testcase classname="API Key DTOs CreateApiKeyDto should fail with empty scopes array" name="API Key DTOs CreateApiKeyDto should fail with empty scopes array" time="0.004">
</testcase>
<testcase classname="API Key DTOs CreateApiKeyDto should fail with missing scopes" name="API Key DTOs CreateApiKeyDto should fail with missing scopes" time="0.002">
</testcase>
<testcase classname="API Key DTOs CreateApiKeyDto should fail with rate limit less than 1" name="API Key DTOs CreateApiKeyDto should fail with rate limit less than 1" time="0.002">
</testcase>
<testcase classname="API Key DTOs CreateApiKeyDto should fail with negative rate limit" name="API Key DTOs CreateApiKeyDto should fail with negative rate limit" time="0.002">
</testcase>
<testcase classname="API Key DTOs CreateApiKeyDto should fail with non-integer rate limit" name="API Key DTOs CreateApiKeyDto should fail with non-integer rate limit" time="0.002">
</testcase>
<testcase classname="API Key DTOs CreateApiKeyDto should pass with single scope" name="API Key DTOs CreateApiKeyDto should pass with single scope" time="0.003">
</testcase>
<testcase classname="API Key DTOs ApiKeyQueryDto should pass with valid query parameters" name="API Key DTOs ApiKeyQueryDto should pass with valid query parameters" time="0.005">
</testcase>
<testcase classname="API Key DTOs ApiKeyQueryDto should pass with empty query" name="API Key DTOs ApiKeyQueryDto should pass with empty query" time="0.002">
</testcase>
<testcase classname="API Key DTOs ApiKeyQueryDto should pass with isActive as string true" name="API Key DTOs ApiKeyQueryDto should pass with isActive as string true" time="0.002">
</testcase>
<testcase classname="API Key DTOs ApiKeyQueryDto should pass with isActive as false" name="API Key DTOs ApiKeyQueryDto should pass with isActive as false" time="0.002">
</testcase>
<testcase classname="API Key DTOs ApiKeyQueryDto should include pagination defaults" name="API Key DTOs ApiKeyQueryDto should include pagination defaults" time="0.002">
</testcase>
</testsuite>
<testsuite name="Document DTOs" errors="0" failures="0" skipped="0" timestamp="2026-02-23T04:15:05" time="1.747" tests="21">
<testcase classname="Document DTOs UploadDocumentDto should pass with all optional fields empty" name="Document DTOs UploadDocumentDto should pass with all optional fields empty" time="0.012">
</testcase>
<testcase classname="Document DTOs UploadDocumentDto should pass with valid document data" name="Document DTOs UploadDocumentDto should pass with valid document data" time="0.015">
</testcase>
<testcase classname="Document DTOs UploadDocumentDto should fail with invalid document type" name="Document DTOs UploadDocumentDto should fail with invalid document type" time="0.007">
</testcase>
<testcase classname="Document DTOs UploadDocumentDto should fail with invalid access level" name="Document DTOs UploadDocumentDto should fail with invalid access level" time="0.013">
</testcase>
<testcase classname="Document DTOs UploadDocumentDto should fail with title too long" name="Document DTOs UploadDocumentDto should fail with title too long" time="0.01">
</testcase>
<testcase classname="Document DTOs UploadDocumentDto should fail with description too long" name="Document DTOs UploadDocumentDto should fail with description too long" time="0.008">
</testcase>
<testcase classname="Document DTOs UploadDocumentDto should pass with all valid document types" name="Document DTOs UploadDocumentDto should pass with all valid document types" time="0.016">
</testcase>
<testcase classname="Document DTOs UploadDocumentDto should pass with all valid access levels" name="Document DTOs UploadDocumentDto should pass with all valid access levels" time="0.027">
</testcase>
<testcase classname="Document DTOs UpdateMetadataDto should pass with all optional fields empty" name="Document DTOs UpdateMetadataDto should pass with all optional fields empty" time="0.032">
</testcase>
<testcase classname="Document DTOs UpdateMetadataDto should pass with valid metadata update" name="Document DTOs UpdateMetadataDto should pass with valid metadata update" time="0.003">
</testcase>
<testcase classname="Document DTOs UpdateMetadataDto should fail with invalid access level" name="Document DTOs UpdateMetadataDto should fail with invalid access level" time="0.006">
</testcase>
<testcase classname="Document DTOs DocumentQueryDto should pass with valid query parameters" name="Document DTOs DocumentQueryDto should pass with valid query parameters" time="0.002">
</testcase>
<testcase classname="Document DTOs DocumentQueryDto should pass with empty query" name="Document DTOs DocumentQueryDto should pass with empty query" time="0.002">
</testcase>
<testcase classname="Document DTOs DocumentQueryDto should fail with invalid createdAfter date" name="Document DTOs DocumentQueryDto should fail with invalid createdAfter date" time="0.002">
</testcase>
<testcase classname="Document DTOs DocumentQueryDto should fail with invalid createdBefore date" name="Document DTOs DocumentQueryDto should fail with invalid createdBefore date" time="0.002">
</testcase>
<testcase classname="Document DTOs DocumentQueryDto should fail with invalid document type" name="Document DTOs DocumentQueryDto should fail with invalid document type" time="0.005">
</testcase>
<testcase classname="Document DTOs DownloadQueryDto should pass with valid version" name="Document DTOs DownloadQueryDto should pass with valid version" time="0.002">
</testcase>
<testcase classname="Document DTOs DownloadQueryDto should pass with no version (optional)" name="Document DTOs DownloadQueryDto should pass with no version (optional)" time="0.002">
</testcase>
<testcase classname="Document DTOs DownloadQueryDto should fail with version less than 1" name="Document DTOs DownloadQueryDto should fail with version less than 1" time="0.002">
</testcase>
<testcase classname="Document DTOs DownloadQueryDto should fail with negative version" name="Document DTOs DownloadQueryDto should fail with negative version" time="0.002">
</testcase>
<testcase classname="Document DTOs DownloadQueryDto should fail with non-integer version" name="Document DTOs DownloadQueryDto should fail with non-integer version" time="0.002">
</testcase>
</testsuite>
<testsuite name="Custom Exceptions" errors="0" failures="0" skipped="0" timestamp="2026-02-23T04:15:07" time="1.217" tests="1">
<testcase classname="Custom Exceptions should be tested via src/common/errors" name="Custom Exceptions should be tested via src/common/errors" time="0.044">
</testcase>
</testsuite>
<testsuite name="Pagination Service - Performance Tests" errors="0" failures="0" skipped="0" timestamp="2026-02-23T04:15:08" time="1.431" tests="10">
<testcase classname="Pagination Service - Performance Tests Performance with Large Datasets should efficiently calculate pagination for 1 million items" name="Pagination Service - Performance Tests Performance with Large Datasets should efficiently calculate pagination for 1 million items" time="0.011">
</testcase>
<testcase classname="Pagination Service - Performance Tests Performance with Large Datasets should efficiently format response for large dataset" name="Pagination Service - Performance Tests Performance with Large Datasets should efficiently format response for large dataset" time="0.007">
</testcase>
<testcase classname="Pagination Service - Performance Tests Performance with Large Datasets should handle rapid consecutive pagination queries" name="Pagination Service - Performance Tests Performance with Large Datasets should handle rapid consecutive pagination queries" time="0.016">
</testcase>
<testcase classname="Pagination Service - Performance Tests Performance with Large Datasets should efficiently generate Prisma options for many queries" name="Pagination Service - Performance Tests Performance with Large Datasets should efficiently generate Prisma options for many queries" time="0.023">
</testcase>
<testcase classname="Pagination Service - Performance Tests Performance with Large Datasets should calculate metadata efficiently for extreme pagination values" name="Pagination Service - Performance Tests Performance with Large Datasets should calculate metadata efficiently for extreme pagination values" time="0.005">
</testcase>
<testcase classname="Pagination Service - Performance Tests Performance with Large Datasets should memory-efficiently handle large format operations" name="Pagination Service - Performance Tests Performance with Large Datasets should memory-efficiently handle large format operations" time="0.016">
</testcase>
<testcase classname="Pagination Service - Performance Tests Edge Case Performance should handle pagination for single item efficiently" name="Pagination Service - Performance Tests Edge Case Performance should handle pagination for single item efficiently" time="0.007">
</testcase>
<testcase classname="Pagination Service - Performance Tests Edge Case Performance should handle pagination for exactly one page of items" name="Pagination Service - Performance Tests Edge Case Performance should handle pagination for exactly one page of items" time="0.006">
</testcase>
<testcase classname="Pagination Service - Performance Tests Edge Case Performance should handle very high page numbers efficiently" name="Pagination Service - Performance Tests Edge Case Performance should handle very high page numbers efficiently" time="0.012">
</testcase>
<testcase classname="Pagination Service - Performance Tests Benchmark Results should provide performance summary" name="Pagination Service - Performance Tests Benchmark Results should provide performance summary" time="0.307">
</testcase>
</testsuite>
<testsuite name="ValuationService" errors="0" failures="0" skipped="0" timestamp="2026-02-23T04:15:09" time="1.595" tests="7">
<testcase classname="ValuationService should be defined" name="ValuationService should be defined" time="0.024">
</testcase>
<testcase classname="ValuationService normalizeFeatures should normalize property features correctly" name="ValuationService normalizeFeatures should normalize property features correctly" time="0.019">
</testcase>
<testcase classname="ValuationService normalizeFeatures should set default values for missing numeric fields" name="ValuationService normalizeFeatures should set default values for missing numeric fields" time="0.014">
</testcase>
<testcase classname="ValuationService combineValuations should return single valuation if only one is provided" name="ValuationService combineValuations should return single valuation if only one is provided" time="0.059">
</testcase>
<testcase classname="ValuationService combineValuations should combine multiple valuations using weighted average" name="ValuationService combineValuations should combine multiple valuations using weighted average" time="0.046">
</testcase>
<testcase classname="ValuationService getMarketTrendFromValuations should return neutral if no trends provided" name="ValuationService getMarketTrendFromValuations should return neutral if no trends provided" time="0.048">
</testcase>
<testcase classname="ValuationService getMarketTrendFromValuations should return majority trend" name="ValuationService getMarketTrendFromValuations should return majority trend" time="0.032">
</testcase>
</testsuite>
<testsuite name="SecurityMiddleware" errors="0" failures="0" skipped="0" timestamp="2026-02-23T04:15:11" time="1.514" tests="5">
<testcase classname="SecurityMiddleware getClientIp should extract IP from x-forwarded-for header" name="SecurityMiddleware getClientIp should extract IP from x-forwarded-for header" time="0.021">
</testcase>
<testcase classname="SecurityMiddleware getClientIp should extract IP from x-real-ip header" name="SecurityMiddleware getClientIp should extract IP from x-real-ip header" time="0.015">
</testcase>
<testcase classname="SecurityMiddleware getClientIp should use connection.remoteAddress when headers are not present" name="SecurityMiddleware getClientIp should use connection.remoteAddress when headers are not present" time="0.015">
</testcase>
<testcase classname="SecurityMiddleware getClientIp should use socket.remoteAddress as fallback" name="SecurityMiddleware getClientIp should use socket.remoteAddress as fallback" time="0.007">
</testcase>
<testcase classname="SecurityMiddleware getClientIp should return unknown when no IP can be determined" name="SecurityMiddleware getClientIp should return unknown when no IP can be determined" time="0.011">
</testcase>
</testsuite>
<testsuite name="Error Filter" errors="0" failures="0" skipped="0" timestamp="2026-02-23T04:15:13" time="0.964" tests="1">
<testcase classname="Error Filter should be tested via src/common/errors/error.filter.spec.ts" name="Error Filter should be tested via src/common/errors/error.filter.spec.ts" time="0.009">
</testcase>
</testsuite>
</testsuites>