From 3a1662ef0f2c9916510278bcc3ed56bc7113c59d Mon Sep 17 00:00:00 2001 From: Timo Bejan Date: Mon, 20 Sep 2021 14:33:04 +0300 Subject: [PATCH] more tests --- .../model/data/dossier/DossierAttribute.java | 7 ++++ .../DossierAttributePersistenceService.java | 6 ++- .../tests/DossierAttributeTest.java | 40 ++++++++++++++++--- .../AbstractPersistenceServerServiceTest.java | 8 ++++ 4 files changed, 54 insertions(+), 7 deletions(-) diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/dossier/DossierAttribute.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/dossier/DossierAttribute.java index e750c4115..e8f8fd0ea 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/dossier/DossierAttribute.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/dossier/DossierAttribute.java @@ -1,6 +1,8 @@ package com.iqser.red.service.persistence.service.v1.api.model.data.dossier; +import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; @@ -11,6 +13,9 @@ import java.io.Serializable; @Data @Table(name = "dossier_attribute") @Entity +@AllArgsConstructor +@NoArgsConstructor +@Builder public class DossierAttribute { @EmbeddedId @@ -19,10 +24,12 @@ public class DossierAttribute { @Column private String value; + @JsonIgnore @ManyToOne(fetch = FetchType.LAZY) @MapsId("dossierId") private Dossier dossier; + @JsonIgnore @ManyToOne(fetch = FetchType.LAZY) @MapsId("dossierAttributeConfigId") private DossierAttributeConfig dossierAttributeConfig; diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierAttributePersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierAttributePersistenceService.java index 45ead2a61..07aa6ebe1 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierAttributePersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierAttributePersistenceService.java @@ -1,6 +1,7 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence; import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierAttributeConfigRepository; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierAttributeRepository; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierRepository; import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.DossierAttribute; @@ -15,15 +16,18 @@ import java.util.List; @SuppressWarnings("PMD.TooManyStaticImports") public class DossierAttributePersistenceService { + private final DossierAttributeConfigRepository dossierAttributeConfigRepository; private final DossierAttributeRepository dossierAttributeRepository; private final DossierRepository dossierRepository; + @Transactional public void insertDossierAttribute(String dossierId, String dossierAttributeId, String dossierAttributeValue) { DossierAttribute dossierAttribute = new DossierAttribute(); - dossierAttribute.setId(new DossierAttribute.DossierAttributeId(null, dossierAttributeId)); + dossierAttribute.setId(new DossierAttribute.DossierAttributeId(null, null)); dossierAttribute.setValue(dossierAttributeValue); dossierAttribute.setDossier(dossierRepository.getOne(dossierId)); + dossierAttribute.setDossierAttributeConfig(dossierAttributeConfigRepository.getOne(dossierAttributeId)); dossierAttributeRepository.save(dossierAttribute); } diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierAttributeTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierAttributeTest.java index e4bab268e..8dbcae255 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierAttributeTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierAttributeTest.java @@ -1,6 +1,7 @@ package com.iqser.red.service.peristence.v1.server.integration.tests; -import com.iqser.red.service.peristence.v1.server.integration.client.*; +import com.iqser.red.service.peristence.v1.server.integration.client.DossierAttributeClient; +import com.iqser.red.service.peristence.v1.server.integration.client.DossierAttributeConfigClient; 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.utils.AbstractPersistenceServerServiceTest; @@ -11,16 +12,13 @@ import org.assertj.core.util.Lists; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; +import java.util.ArrayList; import java.util.List; import static org.assertj.core.api.Assertions.assertThat; public class DossierAttributeTest extends AbstractPersistenceServerServiceTest { - - @Autowired - private FileTesterAndProvider fileTesterAndProvider; - @Autowired private DossierTesterAndProvider dossierTesterAndProvider; @@ -45,7 +43,7 @@ public class DossierAttributeTest extends AbstractPersistenceServerServiceTest { attribute.setType(DossierAttributeConfig.DossierAttributeType.TEXT); - dossierAttributeConfigClient.addOrUpdateDossierAttribute(dossier.getDossierTemplateId(),attribute); + dossierAttributeConfigClient.addOrUpdateDossierAttribute(dossier.getDossierTemplateId(), attribute); loadedAttributes = dossierAttributeConfigClient.getDossierAttributes(dossier.getDossierTemplateId()); assertThat(loadedAttributes).isNotEmpty(); @@ -64,7 +62,37 @@ public class DossierAttributeTest extends AbstractPersistenceServerServiceTest { dossierAttributeConfigClient.setDossierAttributesConfig(dossier.getDossierTemplateId(), Lists.newArrayList(attribute)); loadedAttributes = dossierAttributeConfigClient.getDossierAttributes(dossier.getDossierTemplateId()); assertThat(loadedAttributes).isNotEmpty(); + var configId = loadedAttributes.iterator().next().getId(); + + + List dossierAttributes = new ArrayList<>(); + dossierAttributes.add(DossierAttribute.builder().id(new DossierAttribute.DossierAttributeId(dossier.getId(), configId)).value("lorem ipsum").build()); + dossierAttributeClient.setDossierAttributes(dossier.getId(), dossierAttributes); + + + var loadedAttributeValues = dossierAttributeClient.getDossierAttributes(dossier.getId()); + assertThat(loadedAttributeValues).isNotEmpty(); + + var firstAttribute = loadedAttributeValues.iterator().next(); + assertThat(firstAttribute.getValue()).isEqualTo("lorem ipsum"); + firstAttribute.setValue("test"); + dossierAttributeClient.addOrUpdateDossierAttribute(dossier.getId(), firstAttribute); + + + loadedAttributeValues = dossierAttributeClient.getDossierAttributes(dossier.getId()); + assertThat(loadedAttributeValues).isNotEmpty(); + firstAttribute = loadedAttributeValues.iterator().next(); + assertThat(firstAttribute.getValue()).isEqualTo("test"); + + + dossierAttributeClient.deleteDossierAttribute(dossier.getId(), firstAttribute.getId().getDossierAttributeConfigId()); + loadedAttributeValues = dossierAttributeClient.getDossierAttributes(dossier.getId()); + assertThat(loadedAttributeValues).isEmpty(); + + dossierAttributeConfigClient.deleteDossierAttributes(Lists.newArrayList(loadedAttributes.iterator().next().getId())); + loadedAttributes = dossierAttributeConfigClient.getDossierAttributes(dossier.getDossierTemplateId()); + assertThat(loadedAttributes).isEmpty(); } } diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/utils/AbstractPersistenceServerServiceTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/utils/AbstractPersistenceServerServiceTest.java index 67954b016..5d8a84352 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/utils/AbstractPersistenceServerServiceTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/utils/AbstractPersistenceServerServiceTest.java @@ -180,8 +180,16 @@ public abstract class AbstractPersistenceServerServiceTest { @Autowired private DownloadStatusRepository downloadStatusRepository; + @Autowired + private DossierAttributeRepository dossierAttributeRepository; + + @Autowired + private DossierAttributeConfigRepository dossierAttributeConfigRepository; + @After public void afterTests() { + dossierAttributeRepository.deleteAll(); + dossierAttributeConfigRepository.deleteAll(); downloadStatusRepository.deleteAll(); fileAttributesRepository.deleteAll(); watermarkRepository.deleteAll();