From 5cb1dfc3149f55c4e539d632fcaae0189b528f15 Mon Sep 17 00:00:00 2001 From: yulongcai Date: Thu, 1 Feb 2024 11:39:00 +0800 Subject: [PATCH] ADM-794:[backend]fix: refactor for report service test --- .../service/report/ReportServiceTest.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/backend/src/test/java/heartbeat/service/report/ReportServiceTest.java b/backend/src/test/java/heartbeat/service/report/ReportServiceTest.java index 3e4d0fbb4a..f00fb67047 100644 --- a/backend/src/test/java/heartbeat/service/report/ReportServiceTest.java +++ b/backend/src/test/java/heartbeat/service/report/ReportServiceTest.java @@ -76,8 +76,10 @@ void exportCsvShouldThrowNotFoundExceptionWhenTimestampIsValid() { void generateBoardReportByTypeShouldCallGenerateBoardReport() throws InterruptedException { GenerateReportRequest request = GenerateReportRequest.builder().metrics(new ArrayList<>()).build(); doAnswer(invocation -> null).when(generateReporterService).generateBoardReport(request); + reportService.generateReportByType(request, MetricType.BOARD); Thread.sleep(100); + verify(generateReporterService).generateBoardReport(request); verify(generateReporterService, never()).generateDoraReport(request); } @@ -86,8 +88,10 @@ void generateBoardReportByTypeShouldCallGenerateBoardReport() throws Interrupted void generateDoraReportByTypeShouldCallGenerateDoraReport() throws InterruptedException { GenerateReportRequest request = GenerateReportRequest.builder().metrics(new ArrayList<>()).build(); doAnswer(invocation -> null).when(generateReporterService).generateDoraReport(request); + reportService.generateReportByType(request, MetricType.DORA); Thread.sleep(100); + verify(generateReporterService).generateDoraReport(request); verify(generateReporterService, never()).generateBoardReport(request); } @@ -97,14 +101,21 @@ void ShouldInitializeMetricsDataCompletedInHandlerWithPreOneWhenPreOneExisted() GenerateReportRequest request = GenerateReportRequest.builder().metrics(new ArrayList<>()).build(); when(asyncMetricsDataHandler.getMetricsDataCompleted(any())).thenReturn(MetricsDataCompleted.builder().build()); doAnswer(invocation -> null).when(generateReporterService).generateBoardReport(request); + reportService.generateReportByType(request, MetricType.BOARD); Thread.sleep(100); + verify(generateReporterService).generateBoardReport(request); verify(generateReporterService, never()).generateDoraReport(request); } @Test void ShouldInitializeMetricsDataCompletedInHandlerWhenRequestMetricsExist() { + MetricsDataCompleted expectMetricsDataResult = MetricsDataCompleted.builder() + .boardMetricsCompleted(false) + .pipelineMetricsCompleted(true) + .sourceControlMetricsCompleted(false) + .build(); GenerateReportRequest request = GenerateReportRequest.builder() .csvTimeStamp("csvTimeStamp") .metrics(List.of(VELOCITY.getValue(), LEAD_TIME_FOR_CHANGES.getValue())) @@ -114,11 +125,7 @@ void ShouldInitializeMetricsDataCompletedInHandlerWhenRequestMetricsExist() { doAnswer(invocation -> null).when(generateReporterService).generateBoardReport(request); reportService.generateReportByType(request, MetricType.BOARD); - MetricsDataCompleted expectMetricsDataResult = MetricsDataCompleted.builder() - .boardMetricsCompleted(false) - .pipelineMetricsCompleted(true) - .sourceControlMetricsCompleted(false) - .build(); + verify(asyncMetricsDataHandler).putMetricsDataCompleted("csvTimeStamp", expectMetricsDataResult); verify(generateReporterService).generateBoardReport(request); verify(generateReporterService, never()).generateDoraReport(request);