RED-9392: added JUnit test #559

Merged
ali.oezyetimoglu1 merged 1 commits from RED-9392-fp into master 2024-06-21 17:33:08 +02:00

View File

@ -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();
}
}