@@ -336,6 +336,102 @@ public async Task GetAllStatsAsync_Pass_All_Arguments_To_GetStatsAsync_In_Repo()
336
336
It . Is < string > ( s => s . Equals ( "" ) ) )
337
337
) ;
338
338
}
339
+
340
+ [ Fact ]
341
+ public async Task GetAllStatsAsync_Get_Correct_Reject_Count ( )
342
+ {
343
+ var startTime = new DateTime ( 2023 , 4 , 4 ) ;
344
+ var endTime = new DateTime ( 2023 , 4 , 5 ) ;
345
+ const int pageNumber = 1 ;
346
+ const int pageSize = 10 ;
347
+
348
+ var executionStats = new ExecutionStats [ ]
349
+ {
350
+ new ExecutionStats
351
+ {
352
+ ExecutionId = Guid . NewGuid ( ) . ToString ( ) ,
353
+ StartedUTC = _startTime ,
354
+ WorkflowInstanceId = "workflow" ,
355
+ TaskId = "task" ,
356
+ Status = "Failed" ,
357
+ Reason = Messaging . Events . FailureReason . Rejected ,
358
+ } ,
359
+ } ;
360
+
361
+ _repo . Setup ( w => w . GetAllStatsAsync ( It . IsAny < DateTime > ( ) , It . IsAny < DateTime > ( ) , It . IsAny < string > ( ) , It . IsAny < string > ( ) ) ) . ReturnsAsync ( executionStats ) ;
362
+
363
+ var result = await StatsController . GetDailyStatsAsync ( new TimeFilter { StartTime = startTime , EndTime = endTime , PageNumber = pageNumber , PageSize = pageSize } , "workflow" ) ;
364
+
365
+ var resultCollection = result . As < OkObjectResult > ( ) . Value . As < StatsPagedResponse < IEnumerable < ExecutionStatDayOverview > > > ( ) . Data ;
366
+
367
+ Assert . Equal ( 1 , resultCollection . First ( ) . TotalExecutions ) ;
368
+ Assert . Equal ( 1 , resultCollection . First ( ) . TotalRejections ) ;
369
+ Assert . Equal ( 1 , resultCollection . First ( ) . TotalFailures ) ;
370
+ }
371
+
372
+ [ Fact ]
373
+ public async Task GetAllStatsAsync_Get_Correct_Canceled_Count ( )
374
+ {
375
+ var startTime = new DateTime ( 2023 , 4 , 4 ) ;
376
+ var endTime = new DateTime ( 2023 , 4 , 5 ) ;
377
+ const int pageNumber = 1 ;
378
+ const int pageSize = 10 ;
379
+
380
+ var executionStats = new ExecutionStats [ ]
381
+ {
382
+ new ExecutionStats
383
+ {
384
+ ExecutionId = Guid . NewGuid ( ) . ToString ( ) ,
385
+ StartedUTC = _startTime ,
386
+ WorkflowInstanceId = "workflow" ,
387
+ TaskId = "task" ,
388
+ Status = "Failed" ,
389
+ Reason = Messaging . Events . FailureReason . TimedOut ,
390
+ } ,
391
+ } ;
392
+
393
+ _repo . Setup ( w => w . GetAllStatsAsync ( It . IsAny < DateTime > ( ) , It . IsAny < DateTime > ( ) , It . IsAny < string > ( ) , It . IsAny < string > ( ) ) ) . ReturnsAsync ( executionStats ) ;
394
+
395
+ var result = await StatsController . GetDailyStatsAsync ( new TimeFilter { StartTime = startTime , EndTime = endTime , PageNumber = pageNumber , PageSize = pageSize } , "workflow" ) ;
396
+
397
+ var resultCollection = result . As < OkObjectResult > ( ) . Value . As < StatsPagedResponse < IEnumerable < ExecutionStatDayOverview > > > ( ) . Data ;
398
+
399
+ Assert . Equal ( 1 , resultCollection . First ( ) . TotalExecutions ) ;
400
+ Assert . Equal ( 1 , resultCollection . First ( ) . TotalCancelled ) ;
401
+ Assert . Equal ( 0 , resultCollection . First ( ) . TotalFailures ) ;
402
+ }
403
+
404
+ [ Fact ]
405
+ public async Task GetAllStatsAsync_Get_Correct_Accepted_Count ( )
406
+ {
407
+ var startTime = new DateTime ( 2023 , 4 , 4 ) ;
408
+ var endTime = new DateTime ( 2023 , 4 , 5 ) ;
409
+ const int pageNumber = 1 ;
410
+ const int pageSize = 10 ;
411
+
412
+ var executionStats = new ExecutionStats [ ]
413
+ {
414
+ new ExecutionStats
415
+ {
416
+ ExecutionId = Guid . NewGuid ( ) . ToString ( ) ,
417
+ StartedUTC = _startTime ,
418
+ WorkflowInstanceId = "workflow" ,
419
+ TaskId = "task" ,
420
+ Status = "Succeeded" ,
421
+ Reason = Messaging . Events . FailureReason . None ,
422
+ } ,
423
+ } ;
424
+
425
+ _repo . Setup ( w => w . GetAllStatsAsync ( It . IsAny < DateTime > ( ) , It . IsAny < DateTime > ( ) , It . IsAny < string > ( ) , It . IsAny < string > ( ) ) ) . ReturnsAsync ( executionStats ) ;
426
+
427
+ var result = await StatsController . GetDailyStatsAsync ( new TimeFilter { StartTime = startTime , EndTime = endTime , PageNumber = pageNumber , PageSize = pageSize } , "workflow" ) ;
428
+
429
+ var resultCollection = result . As < OkObjectResult > ( ) . Value . As < StatsPagedResponse < IEnumerable < ExecutionStatDayOverview > > > ( ) . Data ;
430
+
431
+ Assert . Equal ( 1 , resultCollection . First ( ) . TotalExecutions ) ;
432
+ Assert . Equal ( 1 , resultCollection . First ( ) . TotalApprovals ) ;
433
+ Assert . Equal ( 0 , resultCollection . First ( ) . TotalFailures ) ;
434
+ }
339
435
}
340
436
#pragma warning restore CS8604 // Possible null reference argument.
341
437
#pragma warning restore CS8602 // Dereference of a possibly null reference.
0 commit comments