added integration-test for dossier status

This commit is contained in:
Timo Bejan 2022-01-31 10:31:53 +02:00
parent 71945fcdfa
commit 1d7d0fe285
3 changed files with 67 additions and 56 deletions

View File

@ -6,7 +6,7 @@ import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.Do
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.DownloadFileType;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.CreateOrUpdateDossierRequest;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.Dossier;
import org.assertj.core.api.AssertionsForClassTypes;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.DossierStatusInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -29,36 +29,18 @@ public class DossierTesterAndProvider {
return provideTestDossier(testTemplate, "Dossier1");
}
public Dossier provideTestDossier(String testTemplateId, String dossierName) {
CreateOrUpdateDossierRequest cru = new CreateOrUpdateDossierRequest();
cru.setDownloadFileTypes(Sets.newHashSet(DownloadFileType.ORIGINAL));
cru.setDossierName(dossierName);
cru.setDescription(dossierName);
cru.setWatermarkEnabled(true);
cru.setMemberIds(Sets.newHashSet("1"));
cru.setOwnerId("1");
cru.setApproverIds(Sets.newHashSet("1"));
cru.setRequestingUser("1");
cru.setDueDate(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
cru.setDossierTemplateId(testTemplateId);
cru.setReportTemplateIds(List.of("reportTemplate1", "reportTemplate2"));
Dossier result = dossierClient.addDossier(cru);
assertThat(result.getDossierName()).isEqualTo(dossierName);
Dossier loadedDossier = dossierClient.getDossierById(result.getId(),false, false);
assertThat(loadedDossier).isEqualTo(result);
return loadedDossier;
public Dossier provideTestDossier(DossierTemplate testTemplate, String dossierName) {
return provideTestDossier(testTemplate, dossierName, null);
}
public Dossier provideTestDossier(DossierTemplate testTemplate, String dossierName) {
public Dossier provideTestDossier(DossierTemplate testTemplate, String dossierName, DossierStatusInfo dossierStatus) {
CreateOrUpdateDossierRequest cru = new CreateOrUpdateDossierRequest();
cru.setDownloadFileTypes(Sets.newHashSet(DownloadFileType.ORIGINAL));
cru.setDossierName(dossierName);
cru.setDescription(dossierName);
if (dossierStatus != null) {
cru.setDossierStatusId(dossierStatus.getId());
}
cru.setWatermarkEnabled(true);
cru.setMemberIds(Sets.newHashSet("1"));
cru.setOwnerId("1");
@ -72,13 +54,14 @@ public class DossierTesterAndProvider {
assertThat(result.getDossierName()).isEqualTo(dossierName);
Dossier loadedDossier = dossierClient.getDossierById(result.getId(),false, false);
Dossier loadedDossier = dossierClient.getDossierById(result.getId(), false, false);
assertThat(loadedDossier).isEqualTo(result);
return loadedDossier;
}
public Dossier provideTestDossier() {
var testTemplate = dossierTemplateTesterAndProvider.provideTestTemplate();

View File

@ -1,10 +1,14 @@
package com.iqser.red.service.peristence.v1.server.integration.tests;
import com.iqser.red.service.peristence.v1.server.integration.client.DossierClient;
import com.iqser.red.service.peristence.v1.server.integration.client.DossierStatusClient;
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.utils.AbstractPersistenceServerServiceTest;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.CreateOrUpdateDossierRequest;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.CreateOrUpdateDossierStatusRequest;
import org.junit.Test;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import static org.assertj.core.api.Assertions.assertThat;
@ -14,9 +18,15 @@ public class DossierStatusTest extends AbstractPersistenceServerServiceTest {
@Autowired
private DossierStatusClient dossierStatusClient;
@Autowired
private DossierClient dossierClient;
@Autowired
private DossierTemplateTesterAndProvider dossierTemplateTesterAndProvider;
@Autowired
private DossierTesterAndProvider dossierTesterAndProvider;
@Test
public void testDossierStatus() {
var dossierTemplate = dossierTemplateTesterAndProvider.provideTestTemplate();
@ -25,16 +35,30 @@ public class DossierStatusTest extends AbstractPersistenceServerServiceTest {
assertThat(allDossierStatus.size()).isZero();
CreateOrUpdateDossierStatusRequest cru = new CreateOrUpdateDossierStatusRequest();
cru.setName("name1");
cru.setDescription("description1");
cru.setDossierTemplateId(dossierTemplate.getId());
CreateOrUpdateDossierStatusRequest crudsr = new CreateOrUpdateDossierStatusRequest();
crudsr.setName("name1");
crudsr.setDescription("description1");
crudsr.setDossierTemplateId(dossierTemplate.getId());
var loadedDossierStatus = dossierStatusClient.createOrUpdateDossierStatus(cru);
var loadedDossierStatus = dossierStatusClient.createOrUpdateDossierStatus(crudsr);
assertThat(loadedDossierStatus).isNotNull();
allDossierStatus = dossierStatusClient.getAllDossierStatus();
assertThat(allDossierStatus.size()).isEqualTo(1);
var testDossier = dossierTesterAndProvider.provideTestDossier(dossierTemplate, "1", allDossierStatus.iterator().next());
assertThat(testDossier.getDossierStatusId()).isEqualTo(allDossierStatus.iterator().next().getId());
// update
CreateOrUpdateDossierRequest cru = new CreateOrUpdateDossierRequest();
cru.setDossierTemplateId(testDossier.getId());
cru.setDossierStatusId(null);
BeanUtils.copyProperties(testDossier, cru);
var updated = dossierClient.updateDossier(cru, testDossier.getId());
assertThat(updated.getDossierStatusId()).isNull();
}
}

View File

@ -1,34 +1,36 @@
package com.iqser.red.service.peristence.v1.server.integration.tests;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
import com.google.common.collect.Sets;
import com.iqser.red.service.peristence.v1.server.integration.client.DossierClient;
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.utils.AbstractPersistenceServerServiceTest;
import com.iqser.red.service.persistence.service.v1.api.model.common.JSONPrimitive;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.ReportTemplate;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.ReportTemplateUploadRequest;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.CreateOrUpdateDossierRequest;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.Dossier;
import feign.FeignException;
import org.junit.Test;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import java.time.OffsetDateTime;
import java.util.List;
import java.util.Set;
import com.iqser.red.service.persistence.service.v1.api.model.common.JSONPrimitive;
import org.junit.Test;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import com.google.common.collect.Sets;
import com.iqser.red.service.peristence.v1.server.integration.client.DossierClient;
import com.iqser.red.service.peristence.v1.server.integration.client.ReportTemplateClient;
import com.iqser.red.service.peristence.v1.server.integration.service.DossierTesterAndProvider;
import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.ReportTemplate;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.ReportTemplateUploadRequest;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.CreateOrUpdateDossierRequest;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.Dossier;
import feign.FeignException;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
public class DossierTest extends AbstractPersistenceServerServiceTest {
@Autowired
private DossierTesterAndProvider dossierTesterAndProvider;
@Autowired
private DossierTemplateTesterAndProvider dossierTemplateTesterAndProvider;
@Autowired
private DossierClient dossierClient;
@ -62,7 +64,7 @@ public class DossierTest extends AbstractPersistenceServerServiceTest {
assertThat(updated.isWatermarkPreviewEnabled()).isEqualTo(true);
var loadedTemplate = dossierClient.getDossierById(updated.getId(),false, false);
var loadedTemplate = dossierClient.getDossierById(updated.getId(), false, false);
assertThat(loadedTemplate).isEqualTo(updated);
@ -99,9 +101,11 @@ public class DossierTest extends AbstractPersistenceServerServiceTest {
@Test
public void testArchiveDossier() {
var template = dossierTemplateTesterAndProvider.provideTestTemplate();
// Arrange
var dossier1 = dossierTesterAndProvider.provideTestDossier("dossier1");
var dossier2 = dossierTesterAndProvider.provideTestDossier(dossier1.getDossierTemplateId(), "dossier2");
var dossier1 = dossierTesterAndProvider.provideTestDossier(template, "dossier1");
var dossier2 = dossierTesterAndProvider.provideTestDossier(template, "dossier2");
// Act & Assert 1
assertThat(dossierClient.getAllDossiers(false, false)).hasSize(2);
@ -224,7 +228,7 @@ public class DossierTest extends AbstractPersistenceServerServiceTest {
assertThat(updated.getReportTemplateIds().size()).isEqualTo(1);
assertThat(updated.getReportTemplateIds()).contains(availableTemplates.get(0).getTemplateId());
var loadedTemplate = dossierClient.getDossierById(dossier.getId(),false, false);
var loadedTemplate = dossierClient.getDossierById(dossier.getId(), false, false);
assertThat(loadedTemplate).isEqualTo(updated);
assertThat(loadedTemplate.getReportTemplateIds().size()).isEqualTo(1);
@ -248,7 +252,7 @@ public class DossierTest extends AbstractPersistenceServerServiceTest {
assertThat(updated.getReportTemplateIds().size()).isEqualTo(2);
assertThat(updated.getReportTemplateIds()).contains(availableTemplates.get(0).getTemplateId(), availableTemplates.get(1).getTemplateId());
loadedTemplate = dossierClient.getDossierById(dossier.getId(),false, false);
loadedTemplate = dossierClient.getDossierById(dossier.getId(), false, false);
assertThat(loadedTemplate).isEqualTo(updated);
assertThat(loadedTemplate.getReportTemplateIds().size()).isEqualTo(2);
@ -268,7 +272,7 @@ public class DossierTest extends AbstractPersistenceServerServiceTest {
assertThat(updated.getReportTemplateIds().size()).isEqualTo(2);
assertThat(updated.getReportTemplateIds()).contains(availableTemplates.get(1).getTemplateId(), availableTemplates.get(2).getTemplateId());
loadedTemplate = dossierClient.getDossierById(dossier.getId(),false, false);
loadedTemplate = dossierClient.getDossierById(dossier.getId(), false, false);
assertThat(loadedTemplate).isEqualTo(updated);
assertThat(loadedTemplate.getReportTemplateIds().size()).isEqualTo(2);
@ -288,7 +292,7 @@ public class DossierTest extends AbstractPersistenceServerServiceTest {
assertThat(updated.getReportTemplateIds().size()).isEqualTo(1);
assertThat(updated.getReportTemplateIds()).contains(availableTemplates.get(0).getTemplateId());
loadedTemplate = dossierClient.getDossierById(dossier.getId(),false, false);
loadedTemplate = dossierClient.getDossierById(dossier.getId(), false, false);
assertThat(loadedTemplate).isEqualTo(updated);
assertThat(loadedTemplate.getReportTemplateIds().size()).isEqualTo(1);