From a05bbc9c7ffb7bff551a5c1fc0d8894c32c6b90b Mon Sep 17 00:00:00 2001 From: Ali Oezyetimoglu Date: Fri, 21 Jun 2024 17:22:04 +0200 Subject: [PATCH] RED-9392: added JUnit test --- .../integration/tests/ReportTemplateTest.java | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ReportTemplateTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ReportTemplateTest.java index 14bef8fec..4cb71c099 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ReportTemplateTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ReportTemplateTest.java @@ -4,15 +4,24 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.Mockito.doNothing; +import java.util.List; +import java.util.Set; + import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; +import com.iqser.red.service.peristence.v1.server.integration.client.DownloadClient; +import com.iqser.red.service.peristence.v1.server.integration.client.FileClient; import com.iqser.red.service.peristence.v1.server.integration.client.ReportTemplateClient; import com.iqser.red.service.peristence.v1.server.integration.service.DossierTemplateTesterAndProvider; +import com.iqser.red.service.peristence.v1.server.integration.service.DossierTesterAndProvider; +import com.iqser.red.service.peristence.v1.server.integration.service.FileTesterAndProvider; import com.iqser.red.service.peristence.v1.server.integration.service.ReportTemplateProvider; import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest; +import com.iqser.red.service.persistence.service.v1.api.shared.model.PrepareDownloadWithOptionRequest; import com.iqser.red.service.persistence.service.v1.api.shared.model.ReportTemplateUpdateRequest; +import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.DownloadFileType; import feign.FeignException; @@ -21,9 +30,21 @@ public class ReportTemplateTest extends AbstractPersistenceServerServiceTest { @Autowired private DossierTemplateTesterAndProvider dossierTemplateTesterAndProvider; + @Autowired + private FileTesterAndProvider fileTesterAndProvider; + + @Autowired + private DossierTesterAndProvider dossierTesterAndProvider; + @Autowired private ReportTemplateClient reportTemplateClient; + @Autowired + private DownloadClient downloadClient; + + @Autowired + private FileClient fileClient; + @Autowired private ReportTemplateProvider reportTemplateProvider; @@ -344,4 +365,40 @@ public class ReportTemplateTest extends AbstractPersistenceServerServiceTest { } + @Test + public void testDownloadDossierAndDeleteReportTemplate() { + // Arrange + String fileName = "report.xlsx"; + var dossier = dossierTesterAndProvider.provideTestDossier(); + var file = fileTesterAndProvider.testAndProvideFile(dossier); + + fileTesterAndProvider.markFileAsProcessed(dossier.getId(), file.getFileId()); + fileClient.setStatusApproved(dossier.getId(), file.getId()); + + // Act & Assert + var availableTemplates = reportTemplateClient.getAvailableReportTemplates(dossier.getDossierTemplateId()); + assertThat(availableTemplates).isEmpty(); + + reportTemplateProvider.provideReportTemplate(dossier.getDossierTemplateId(), fileName); + + availableTemplates = reportTemplateClient.getAvailableReportTemplates(dossier.getDossierTemplateId()); + assertThat(availableTemplates).isNotEmpty(); + + var firstTemplate = reportTemplateClient.getAvailableReportTemplates(dossier.getDossierTemplateId()) + .iterator().next(); + assertThat(availableTemplates.iterator().next()).isEqualTo(firstTemplate); + assertThat(firstTemplate.getFileName()).isEqualTo(fileName); + + downloadClient.prepareDownload(PrepareDownloadWithOptionRequest.builder() + .reportTemplateIds(List.of(firstTemplate.getTemplateId())) + .dossierId(dossier.getId()) + .fileIds(List.of(file.getId())) + .build()); + + reportTemplateClient.deleteTemplate(firstTemplate.getDossierTemplateId(), firstTemplate.getTemplateId()); + + availableTemplates = reportTemplateClient.getAvailableReportTemplates(dossier.getDossierTemplateId()); + assertThat(availableTemplates).isEmpty(); + } + } -- 2.47.2