more tests

This commit is contained in:
Timo Bejan 2021-09-20 14:33:04 +03:00
parent 2ecb2eeadb
commit 3a1662ef0f
4 changed files with 54 additions and 7 deletions

View File

@ -1,6 +1,8 @@
package com.iqser.red.service.persistence.service.v1.api.model.data.dossier; package com.iqser.red.service.persistence.service.v1.api.model.data.dossier;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@ -11,6 +13,9 @@ import java.io.Serializable;
@Data @Data
@Table(name = "dossier_attribute") @Table(name = "dossier_attribute")
@Entity @Entity
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class DossierAttribute { public class DossierAttribute {
@EmbeddedId @EmbeddedId
@ -19,10 +24,12 @@ public class DossierAttribute {
@Column @Column
private String value; private String value;
@JsonIgnore
@ManyToOne(fetch = FetchType.LAZY) @ManyToOne(fetch = FetchType.LAZY)
@MapsId("dossierId") @MapsId("dossierId")
private Dossier dossier; private Dossier dossier;
@JsonIgnore
@ManyToOne(fetch = FetchType.LAZY) @ManyToOne(fetch = FetchType.LAZY)
@MapsId("dossierAttributeConfigId") @MapsId("dossierAttributeConfigId")
private DossierAttributeConfig dossierAttributeConfig; private DossierAttributeConfig dossierAttributeConfig;

View File

@ -1,6 +1,7 @@
package com.iqser.red.service.persistence.management.v1.processor.service.persistence; 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.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.DossierAttributeRepository;
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierRepository; 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; import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.DossierAttribute;
@ -15,15 +16,18 @@ import java.util.List;
@SuppressWarnings("PMD.TooManyStaticImports") @SuppressWarnings("PMD.TooManyStaticImports")
public class DossierAttributePersistenceService { public class DossierAttributePersistenceService {
private final DossierAttributeConfigRepository dossierAttributeConfigRepository;
private final DossierAttributeRepository dossierAttributeRepository; private final DossierAttributeRepository dossierAttributeRepository;
private final DossierRepository dossierRepository; private final DossierRepository dossierRepository;
@Transactional
public void insertDossierAttribute(String dossierId, String dossierAttributeId, String dossierAttributeValue) { public void insertDossierAttribute(String dossierId, String dossierAttributeId, String dossierAttributeValue) {
DossierAttribute dossierAttribute = new DossierAttribute(); DossierAttribute dossierAttribute = new DossierAttribute();
dossierAttribute.setId(new DossierAttribute.DossierAttributeId(null, dossierAttributeId)); dossierAttribute.setId(new DossierAttribute.DossierAttributeId(null, null));
dossierAttribute.setValue(dossierAttributeValue); dossierAttribute.setValue(dossierAttributeValue);
dossierAttribute.setDossier(dossierRepository.getOne(dossierId)); dossierAttribute.setDossier(dossierRepository.getOne(dossierId));
dossierAttribute.setDossierAttributeConfig(dossierAttributeConfigRepository.getOne(dossierAttributeId));
dossierAttributeRepository.save(dossierAttribute); dossierAttributeRepository.save(dossierAttribute);
} }

View File

@ -1,6 +1,7 @@
package com.iqser.red.service.peristence.v1.server.integration.tests; 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.DossierTesterAndProvider;
import com.iqser.red.service.peristence.v1.server.integration.service.FileTesterAndProvider; import com.iqser.red.service.peristence.v1.server.integration.service.FileTesterAndProvider;
import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest; 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.junit.Test;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
public class DossierAttributeTest extends AbstractPersistenceServerServiceTest { public class DossierAttributeTest extends AbstractPersistenceServerServiceTest {
@Autowired
private FileTesterAndProvider fileTesterAndProvider;
@Autowired @Autowired
private DossierTesterAndProvider dossierTesterAndProvider; private DossierTesterAndProvider dossierTesterAndProvider;
@ -45,7 +43,7 @@ public class DossierAttributeTest extends AbstractPersistenceServerServiceTest {
attribute.setType(DossierAttributeConfig.DossierAttributeType.TEXT); attribute.setType(DossierAttributeConfig.DossierAttributeType.TEXT);
dossierAttributeConfigClient.addOrUpdateDossierAttribute(dossier.getDossierTemplateId(),attribute); dossierAttributeConfigClient.addOrUpdateDossierAttribute(dossier.getDossierTemplateId(), attribute);
loadedAttributes = dossierAttributeConfigClient.getDossierAttributes(dossier.getDossierTemplateId()); loadedAttributes = dossierAttributeConfigClient.getDossierAttributes(dossier.getDossierTemplateId());
assertThat(loadedAttributes).isNotEmpty(); assertThat(loadedAttributes).isNotEmpty();
@ -64,7 +62,37 @@ public class DossierAttributeTest extends AbstractPersistenceServerServiceTest {
dossierAttributeConfigClient.setDossierAttributesConfig(dossier.getDossierTemplateId(), Lists.newArrayList(attribute)); dossierAttributeConfigClient.setDossierAttributesConfig(dossier.getDossierTemplateId(), Lists.newArrayList(attribute));
loadedAttributes = dossierAttributeConfigClient.getDossierAttributes(dossier.getDossierTemplateId()); loadedAttributes = dossierAttributeConfigClient.getDossierAttributes(dossier.getDossierTemplateId());
assertThat(loadedAttributes).isNotEmpty(); assertThat(loadedAttributes).isNotEmpty();
var configId = loadedAttributes.iterator().next().getId();
List<DossierAttribute> 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())); dossierAttributeConfigClient.deleteDossierAttributes(Lists.newArrayList(loadedAttributes.iterator().next().getId()));
loadedAttributes = dossierAttributeConfigClient.getDossierAttributes(dossier.getDossierTemplateId());
assertThat(loadedAttributes).isEmpty();
} }
} }

View File

@ -180,8 +180,16 @@ public abstract class AbstractPersistenceServerServiceTest {
@Autowired @Autowired
private DownloadStatusRepository downloadStatusRepository; private DownloadStatusRepository downloadStatusRepository;
@Autowired
private DossierAttributeRepository dossierAttributeRepository;
@Autowired
private DossierAttributeConfigRepository dossierAttributeConfigRepository;
@After @After
public void afterTests() { public void afterTests() {
dossierAttributeRepository.deleteAll();
dossierAttributeConfigRepository.deleteAll();
downloadStatusRepository.deleteAll(); downloadStatusRepository.deleteAll();
fileAttributesRepository.deleteAll(); fileAttributesRepository.deleteAll();
watermarkRepository.deleteAll(); watermarkRepository.deleteAll();