Pull request #173: RED-3014: Sort soft deleted files and soft deleted dossier responses by soft deleted date / time descending
Merge in RED/persistence-service from RED-3014-ps1 to master * commit '1f66ef0efbb62be28f21735033241bc7abac0dc0': RED-3014: Sort soft deleted files and soft deleted dossier responses by soft deleted date / time descending
This commit is contained in:
commit
3cdd7fc15a
@ -29,5 +29,5 @@ public class DossierTemplate {
|
|||||||
private OffsetDateTime validTo;
|
private OffsetDateTime validTo;
|
||||||
private boolean deleted;
|
private boolean deleted;
|
||||||
private Set<DownloadFileType> downloadFileTypes = new HashSet<>();
|
private Set<DownloadFileType> downloadFileTypes = new HashSet<>();
|
||||||
|
private DossierTemplateStatus dossierTemplateStatus;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,5 @@
|
|||||||
|
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate;
|
||||||
|
|
||||||
|
public enum DossierTemplateStatus {
|
||||||
|
INCOMPLETE, INACTIVE, ACTIVE
|
||||||
|
}
|
||||||
@ -1,20 +1,30 @@
|
|||||||
package com.iqser.red.service.persistence.management.v1.processor.entity.dossier;
|
package com.iqser.red.service.persistence.management.v1.processor.entity.dossier;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.TypeEntity;
|
|
||||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.DownloadFileType;
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Builder;
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
|
|
||||||
import javax.persistence.*;
|
|
||||||
import java.time.OffsetDateTime;
|
import java.time.OffsetDateTime;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
import javax.persistence.Column;
|
||||||
|
import javax.persistence.ElementCollection;
|
||||||
|
import javax.persistence.Entity;
|
||||||
|
import javax.persistence.EnumType;
|
||||||
|
import javax.persistence.Enumerated;
|
||||||
|
import javax.persistence.Id;
|
||||||
|
import javax.persistence.OneToMany;
|
||||||
|
import javax.persistence.Table;
|
||||||
|
import javax.persistence.Transient;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.TypeEntity;
|
||||||
|
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.DossierTemplateStatus;
|
||||||
|
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.DownloadFileType;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@Entity
|
@Entity
|
||||||
@ -73,4 +83,8 @@ public class DossierTemplateEntity {
|
|||||||
@JsonIgnore
|
@JsonIgnore
|
||||||
@OneToMany(mappedBy = "dossierTemplate")
|
@OneToMany(mappedBy = "dossierTemplate")
|
||||||
private List<FileAttributeConfigEntity> fileAttributeConfigs = new ArrayList<>();
|
private List<FileAttributeConfigEntity> fileAttributeConfigs = new ArrayList<>();
|
||||||
|
|
||||||
|
@Transient
|
||||||
|
private DossierTemplateStatus dossierTemplateStatus;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,6 +6,9 @@ import com.iqser.red.service.persistence.management.v1.processor.exception.Confl
|
|||||||
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.DossierTemplateRepository;
|
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierTemplateRepository;
|
||||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.CreateOrUpdateDossierTemplateRequest;
|
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.CreateOrUpdateDossierTemplateRequest;
|
||||||
|
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.DossierTemplate;
|
||||||
|
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.DossierTemplateStatus;
|
||||||
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@ -25,6 +28,8 @@ public class DossierTemplatePersistenceService {
|
|||||||
public static final String DOSSIER_TEMPLATE_NOT_FOUND_MESSAGE = "DossierTemplate with Id %s not found.";
|
public static final String DOSSIER_TEMPLATE_NOT_FOUND_MESSAGE = "DossierTemplate with Id %s not found.";
|
||||||
|
|
||||||
private final DossierTemplateRepository dossierTemplateRepository;
|
private final DossierTemplateRepository dossierTemplateRepository;
|
||||||
|
private final LegalBasisMappingPersistenceService legalBasisMappingPersistenceService;
|
||||||
|
private final RulesPersistenceService rulesPersistenceService;
|
||||||
|
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
@ -41,6 +46,7 @@ public class DossierTemplatePersistenceService {
|
|||||||
BeanUtils.copyProperties(createOrUpdateDossierRequest, dossierTemplate.get());
|
BeanUtils.copyProperties(createOrUpdateDossierRequest, dossierTemplate.get());
|
||||||
dossierTemplate.get().setDateModified(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
dossierTemplate.get().setDateModified(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||||
dossierTemplate.get().setModifiedBy(createOrUpdateDossierRequest.getRequestingUser());
|
dossierTemplate.get().setModifiedBy(createOrUpdateDossierRequest.getRequestingUser());
|
||||||
|
dossierTemplate.get().setDossierTemplateStatus(computeDossierTemplateStatus(dossierTemplate.get()));
|
||||||
return dossierTemplate.get();
|
return dossierTemplate.get();
|
||||||
} else {
|
} else {
|
||||||
throw new NotFoundException(String.format(DOSSIER_TEMPLATE_NOT_FOUND_MESSAGE, createOrUpdateDossierRequest.getDossierTemplateId()));
|
throw new NotFoundException(String.format(DOSSIER_TEMPLATE_NOT_FOUND_MESSAGE, createOrUpdateDossierRequest.getDossierTemplateId()));
|
||||||
@ -53,11 +59,37 @@ public class DossierTemplatePersistenceService {
|
|||||||
BeanUtils.copyProperties(createOrUpdateDossierRequest, dossierTemplate);
|
BeanUtils.copyProperties(createOrUpdateDossierRequest, dossierTemplate);
|
||||||
dossierTemplate.setDateAdded(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
dossierTemplate.setDateAdded(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||||
dossierTemplate.setCreatedBy(createOrUpdateDossierRequest.getRequestingUser());
|
dossierTemplate.setCreatedBy(createOrUpdateDossierRequest.getRequestingUser());
|
||||||
return dossierTemplateRepository.save(dossierTemplate);
|
rulesPersistenceService.setRules(RulesPersistenceService.DEFAULT_RULES, dossierTemplate.getId());
|
||||||
|
var loadedDossierTemplate = dossierTemplateRepository.save(dossierTemplate);
|
||||||
|
loadedDossierTemplate.setDossierTemplateStatus(computeDossierTemplateStatus(loadedDossierTemplate));
|
||||||
|
|
||||||
|
return loadedDossierTemplate;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private DossierTemplateStatus computeDossierTemplateStatus(DossierTemplateEntity dossierTemplate) {
|
||||||
|
var legalBasis = legalBasisMappingPersistenceService.getLegalBasisMapping(dossierTemplate.getId());
|
||||||
|
if (legalBasis==null || legalBasis.isEmpty()) {
|
||||||
|
return DossierTemplateStatus.INCOMPLETE;
|
||||||
|
}
|
||||||
|
|
||||||
|
var rules = rulesPersistenceService.getRules(dossierTemplate.getId());
|
||||||
|
if (rules==null || rules.getVersion()==1) {
|
||||||
|
return DossierTemplateStatus.INCOMPLETE;
|
||||||
|
}
|
||||||
|
|
||||||
|
var now = OffsetDateTime.now();
|
||||||
|
boolean isNotInRange = !now.isAfter(dossierTemplate.getValidFrom()!=null ? dossierTemplate.getValidFrom() : OffsetDateTime.MIN) || !now.isBefore(dossierTemplate.getValidTo()!=null ? dossierTemplate.getValidTo() : OffsetDateTime.MAX);
|
||||||
|
if(isNotInRange) {
|
||||||
|
return DossierTemplateStatus.INACTIVE;
|
||||||
|
}
|
||||||
|
|
||||||
|
return DossierTemplateStatus.ACTIVE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public void validateDossierTemplateNameIsUnique(String templateName){
|
public void validateDossierTemplateNameIsUnique(String templateName){
|
||||||
getAllDossierTemplates().forEach(existing -> {
|
getAllDossierTemplates().forEach(existing -> {
|
||||||
if(existing.getName().equals(templateName)){
|
if(existing.getName().equals(templateName)){
|
||||||
@ -67,11 +99,18 @@ public class DossierTemplatePersistenceService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public List<DossierTemplateEntity> getAllDossierTemplates() {
|
public List<DossierTemplateEntity> getAllDossierTemplates() {
|
||||||
return dossierTemplateRepository.findAllWhereDeletedIsFalse();
|
|
||||||
|
var allDossierTemplates = dossierTemplateRepository.findAllWhereDeletedIsFalse();
|
||||||
|
allDossierTemplates.forEach(dossierTemplateEntity -> dossierTemplateEntity.setDossierTemplateStatus(computeDossierTemplateStatus(dossierTemplateEntity)));
|
||||||
|
|
||||||
|
return allDossierTemplates;
|
||||||
}
|
}
|
||||||
|
|
||||||
public DossierTemplateEntity getDossierTemplate(String dossierTemplateId) {
|
public DossierTemplateEntity getDossierTemplate(String dossierTemplateId) {
|
||||||
return dossierTemplateRepository.findByIdAndNotDeleted(dossierTemplateId).orElseThrow(() -> new NotFoundException(String.format(DOSSIER_TEMPLATE_NOT_FOUND_MESSAGE, dossierTemplateId)));
|
var dossierTemplate = dossierTemplateRepository.findByIdAndNotDeleted(dossierTemplateId).orElseThrow(() -> new NotFoundException(String.format(DOSSIER_TEMPLATE_NOT_FOUND_MESSAGE, dossierTemplateId)));
|
||||||
|
dossierTemplate.setDossierTemplateStatus(computeDossierTemplateStatus(dossierTemplate));
|
||||||
|
|
||||||
|
return dossierTemplate;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
|
|||||||
@ -12,7 +12,7 @@ import javax.transaction.Transactional;
|
|||||||
@SuppressWarnings("PMD.TooManyStaticImports")
|
@SuppressWarnings("PMD.TooManyStaticImports")
|
||||||
public class RulesPersistenceService {
|
public class RulesPersistenceService {
|
||||||
|
|
||||||
private final static String DEFAULT_RULES = "" +
|
public final static String DEFAULT_RULES = "" +
|
||||||
"package drools\n" +
|
"package drools\n" +
|
||||||
"\n" +
|
"\n" +
|
||||||
"import com.iqser.red.service.redaction.v1.server.redaction.model.Section\n" +
|
"import com.iqser.red.service.redaction.v1.server.redaction.model.Section\n" +
|
||||||
|
|||||||
@ -127,10 +127,13 @@ public class DossierController implements DossierResource {
|
|||||||
@Transactional
|
@Transactional
|
||||||
public List<Dossier> getSoftDeletedDossiers() {
|
public List<Dossier> getSoftDeletedDossiers() {
|
||||||
|
|
||||||
return convert(dossierService.getAllDossiers()
|
var softDeletedDossiers = convert(dossierService.getAllDossiers()
|
||||||
.stream()
|
.stream()
|
||||||
.filter(p -> p.getStatus().equals(DossierStatus.DELETED) && p.getHardDeletedTime() == null)
|
.filter(p -> p.getStatus().equals(DossierStatus.DELETED) && p.getHardDeletedTime() == null)
|
||||||
.collect(Collectors.toList()), Dossier.class, new DossierMapper());
|
.collect(Collectors.toList()), Dossier.class, new DossierMapper());
|
||||||
|
softDeletedDossiers.sort((dossier1, dossier2) -> dossier2.getSoftDeletedTime().compareTo(dossier1.getSoftDeletedTime()));
|
||||||
|
|
||||||
|
return softDeletedDossiers;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -61,10 +61,13 @@ public class FileStatusController implements StatusResource {
|
|||||||
@Override
|
@Override
|
||||||
public List<FileModel> getSoftDeletedDossierStatus(@PathVariable(DOSSIER_ID_PARAM) String dossierId) {
|
public List<FileModel> getSoftDeletedDossierStatus(@PathVariable(DOSSIER_ID_PARAM) String dossierId) {
|
||||||
|
|
||||||
return reanalysisRequiredStatusService.enhanceFileStatusWithAnalysisRequirements(convert(fileStatusService.getDossierStatus(dossierId)
|
var softDeletedFiles = reanalysisRequiredStatusService.enhanceFileStatusWithAnalysisRequirements(convert(fileStatusService.getDossierStatus(dossierId)
|
||||||
.stream()
|
.stream()
|
||||||
.filter(f -> f.getProcessingStatus().equals(ProcessingStatus.DELETED) && f.getHardDeletedTime() == null)
|
.filter(f -> f.getProcessingStatus().equals(ProcessingStatus.DELETED) && f.getHardDeletedTime() == null)
|
||||||
.collect(Collectors.toList()), FileModel.class, new FileModelMapper()));
|
.collect(Collectors.toList()), FileModel.class, new FileModelMapper()));
|
||||||
|
softDeletedFiles.sort((f1, f2) -> f2.getDeleted().compareTo(f1.getDeleted()));
|
||||||
|
|
||||||
|
return softDeletedFiles;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -4,7 +4,9 @@ import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.
|
|||||||
import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException;
|
import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.exception.ConflictException;
|
import com.iqser.red.service.persistence.management.v1.processor.exception.ConflictException;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierPersistenceService;
|
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierPersistenceService;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierTemplatePersistenceService;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.FileStatusPersistenceService;
|
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.FileStatusPersistenceService;
|
||||||
|
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.DossierTemplateStatus;
|
||||||
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.CreateOrUpdateDossierRequest;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@ -25,6 +27,8 @@ public class DossierService {
|
|||||||
|
|
||||||
private final FileStatusPersistenceService fileStatusPersistenceService;
|
private final FileStatusPersistenceService fileStatusPersistenceService;
|
||||||
|
|
||||||
|
private final DossierTemplatePersistenceService dossierTemplatePersistenceService;
|
||||||
|
|
||||||
|
|
||||||
public DossierEntity addDossier(CreateOrUpdateDossierRequest createOrUpdateDossierRequest) {
|
public DossierEntity addDossier(CreateOrUpdateDossierRequest createOrUpdateDossierRequest) {
|
||||||
|
|
||||||
@ -35,6 +39,10 @@ public class DossierService {
|
|||||||
throw new ConflictException("Dossier with this name already exists");
|
throw new ConflictException("Dossier with this name already exists");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var dossierTemplate = dossierTemplatePersistenceService.getDossierTemplate(createOrUpdateDossierRequest.getDossierTemplateId());
|
||||||
|
if(!dossierTemplate.getDossierTemplateStatus().equals(DossierTemplateStatus.ACTIVE)) {
|
||||||
|
throw new BadRequestException("Dossier template is not active.");
|
||||||
|
}
|
||||||
|
|
||||||
return dossierPersistenceService.insert(createOrUpdateDossierRequest);
|
return dossierPersistenceService.insert(createOrUpdateDossierRequest);
|
||||||
|
|
||||||
@ -43,7 +51,13 @@ public class DossierService {
|
|||||||
|
|
||||||
public DossierEntity updateDossier(CreateOrUpdateDossierRequest dossierRequest, String dossierId) {
|
public DossierEntity updateDossier(CreateOrUpdateDossierRequest dossierRequest, String dossierId) {
|
||||||
|
|
||||||
|
var dossierTemplate = dossierTemplatePersistenceService.getDossierTemplate(dossierRequest.getDossierTemplateId());
|
||||||
|
if(!dossierTemplate.getDossierTemplateStatus().equals(DossierTemplateStatus.ACTIVE)) {
|
||||||
|
throw new BadRequestException("Dossier template is not active.");
|
||||||
|
}
|
||||||
|
|
||||||
DossierEntity dossier = dossierPersistenceService.findByDossierId(dossierId);
|
DossierEntity dossier = dossierPersistenceService.findByDossierId(dossierId);
|
||||||
|
|
||||||
if (dossier.getDossierName()
|
if (dossier.getDossierName()
|
||||||
.equals(dossierRequest.getDossierName()) || dossierPersistenceService.findAllDossiers()
|
.equals(dossierRequest.getDossierName()) || dossierPersistenceService.findAllDossiers()
|
||||||
.stream()
|
.stream()
|
||||||
|
|||||||
@ -2,14 +2,20 @@ package com.iqser.red.service.peristence.v1.server.integration.service;
|
|||||||
|
|
||||||
import com.google.common.collect.Sets;
|
import com.google.common.collect.Sets;
|
||||||
import com.iqser.red.service.peristence.v1.server.integration.client.DossierTemplateClient;
|
import com.iqser.red.service.peristence.v1.server.integration.client.DossierTemplateClient;
|
||||||
|
import com.iqser.red.service.peristence.v1.server.integration.client.LegalBasisClient;
|
||||||
|
import com.iqser.red.service.peristence.v1.server.integration.client.RulesClient;
|
||||||
|
import com.iqser.red.service.persistence.service.v1.api.model.common.JSONPrimitive;
|
||||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.CreateOrUpdateDossierTemplateRequest;
|
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.CreateOrUpdateDossierTemplateRequest;
|
||||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.DossierTemplate;
|
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.DossierTemplate;
|
||||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.DownloadFileType;
|
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.DownloadFileType;
|
||||||
|
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.legalbasis.LegalBasis;
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.time.OffsetDateTime;
|
import java.time.OffsetDateTime;
|
||||||
import java.time.temporal.ChronoUnit;
|
import java.time.temporal.ChronoUnit;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
|
import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
|
||||||
|
|
||||||
@ -19,6 +25,12 @@ public class DossierTemplateTesterAndProvider {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private DossierTemplateClient dossierTemplateClient;
|
private DossierTemplateClient dossierTemplateClient;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private RulesClient rulesClient;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private LegalBasisClient legalBasisClient;
|
||||||
|
|
||||||
public DossierTemplate provideTestTemplate() {
|
public DossierTemplate provideTestTemplate() {
|
||||||
CreateOrUpdateDossierTemplateRequest cru = new CreateOrUpdateDossierTemplateRequest();
|
CreateOrUpdateDossierTemplateRequest cru = new CreateOrUpdateDossierTemplateRequest();
|
||||||
cru.setDownloadFileTypes(Sets.newHashSet(DownloadFileType.ORIGINAL));
|
cru.setDownloadFileTypes(Sets.newHashSet(DownloadFileType.ORIGINAL));
|
||||||
@ -26,7 +38,7 @@ public class DossierTemplateTesterAndProvider {
|
|||||||
cru.setDescription("Template 1");
|
cru.setDescription("Template 1");
|
||||||
cru.setRequestingUser("1");
|
cru.setRequestingUser("1");
|
||||||
cru.setValidFrom(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
cru.setValidFrom(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||||
cru.setValidTo(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
cru.setValidTo(OffsetDateTime.now().plusHours(1).truncatedTo(ChronoUnit.MILLIS));
|
||||||
|
|
||||||
DossierTemplate result = dossierTemplateClient.createOrUpdateDossierTemplate(cru);
|
DossierTemplate result = dossierTemplateClient.createOrUpdateDossierTemplate(cru);
|
||||||
|
|
||||||
@ -36,6 +48,11 @@ public class DossierTemplateTesterAndProvider {
|
|||||||
|
|
||||||
assertThat(loadedTemplate).isEqualTo(result);
|
assertThat(loadedTemplate).isEqualTo(result);
|
||||||
|
|
||||||
|
rulesClient.setRules(loadedTemplate.getId(), JSONPrimitive.of("ABCD"));
|
||||||
|
legalBasisClient.setLegalBasisMapping(loadedTemplate.getId(), List.of(new LegalBasis("name", "description", "reason")));
|
||||||
|
|
||||||
|
loadedTemplate = dossierTemplateClient.getDossierTemplate(result.getId());
|
||||||
|
|
||||||
return loadedTemplate;
|
return loadedTemplate;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -2,16 +2,23 @@ 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.DossierClient;
|
||||||
import com.iqser.red.service.peristence.v1.server.integration.client.DossierTemplateClient;
|
import com.iqser.red.service.peristence.v1.server.integration.client.DossierTemplateClient;
|
||||||
|
import com.iqser.red.service.peristence.v1.server.integration.client.LegalBasisClient;
|
||||||
|
import com.iqser.red.service.peristence.v1.server.integration.client.RulesClient;
|
||||||
import com.iqser.red.service.peristence.v1.server.integration.service.DossierTemplateTesterAndProvider;
|
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.DossierTesterAndProvider;
|
||||||
import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest;
|
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.CreateOrUpdateDossierTemplateRequest;
|
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.CreateOrUpdateDossierTemplateRequest;
|
||||||
|
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.DossierTemplateStatus;
|
||||||
|
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.legalbasis.LegalBasis;
|
||||||
|
|
||||||
import feign.FeignException;
|
import feign.FeignException;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
|
||||||
@ -53,11 +60,10 @@ public class DossierTemplateTest extends AbstractPersistenceServerServiceTest {
|
|||||||
|
|
||||||
assertThat(loadedTemplate).isEqualTo(updated);
|
assertThat(loadedTemplate).isEqualTo(updated);
|
||||||
|
|
||||||
dossierTemplateClient.getAllDossierTemplates().forEach(template -> dossierTemplateClient.deleteDossierTemplate(template.getId(), "1"));
|
assertThat(loadedTemplate.getDossierTemplateStatus()).isEqualTo(DossierTemplateStatus.ACTIVE);
|
||||||
|
|
||||||
assertThat(dossierTemplateClient.getAllDossierTemplates().isEmpty()).isTrue();
|
|
||||||
|
|
||||||
updated = dossierTemplateClient.createOrUpdateDossierTemplate(cru);
|
updated = dossierTemplateClient.createOrUpdateDossierTemplate(cru);
|
||||||
|
|
||||||
assertThat(updated.getName()).isEqualTo("Template 1 Update");
|
assertThat(updated.getName()).isEqualTo("Template 1 Update");
|
||||||
|
|
||||||
var testDossier = dossierTesterAndProvider.provideTestDossier(updated);
|
var testDossier = dossierTesterAndProvider.provideTestDossier(updated);
|
||||||
|
|||||||
@ -27,7 +27,7 @@ public class LegalBasisTest extends AbstractPersistenceServerServiceTest {
|
|||||||
|
|
||||||
var dossierTemplate = dossierTemplateTesterAndProvider.provideTestTemplate();
|
var dossierTemplate = dossierTemplateTesterAndProvider.provideTestTemplate();
|
||||||
|
|
||||||
assertThat(legalBasisClient.getVersion(dossierTemplate.getId())).isEqualTo(0);
|
assertThat(legalBasisClient.getVersion(dossierTemplate.getId())).isEqualTo(2); //1. beim Aufrufen von getLegalBasisMapping(); 2. bei provideTestTemplate(), damit es ACTIVE ist
|
||||||
|
|
||||||
try {
|
try {
|
||||||
legalBasisClient.getLegalBasisMapping(dossierTemplate.getId());
|
legalBasisClient.getLegalBasisMapping(dossierTemplate.getId());
|
||||||
@ -40,7 +40,7 @@ public class LegalBasisTest extends AbstractPersistenceServerServiceTest {
|
|||||||
mappings.add(LegalBasis.builder().name("test 1").description("test 1").reason("test 1").build());
|
mappings.add(LegalBasis.builder().name("test 1").description("test 1").reason("test 1").build());
|
||||||
mappings.add(LegalBasis.builder().name("test 2").description("test 2").reason("test 2").build());
|
mappings.add(LegalBasis.builder().name("test 2").description("test 2").reason("test 2").build());
|
||||||
legalBasisClient.setLegalBasisMapping(dossierTemplate.getId(), mappings);
|
legalBasisClient.setLegalBasisMapping(dossierTemplate.getId(), mappings);
|
||||||
assertThat(legalBasisClient.getVersion(dossierTemplate.getId())).isEqualTo(2);
|
assertThat(legalBasisClient.getVersion(dossierTemplate.getId())).isEqualTo(3);
|
||||||
|
|
||||||
|
|
||||||
var mapping = legalBasisClient.getLegalBasisMapping(dossierTemplate.getId());
|
var mapping = legalBasisClient.getLegalBasisMapping(dossierTemplate.getId());
|
||||||
@ -72,7 +72,7 @@ public class LegalBasisTest extends AbstractPersistenceServerServiceTest {
|
|||||||
|
|
||||||
legalBasisClient.setLegalBasisMapping(dossierTemplate.getId(), Lists.newArrayList());
|
legalBasisClient.setLegalBasisMapping(dossierTemplate.getId(), Lists.newArrayList());
|
||||||
assertThat(legalBasisClient.getLegalBasisMapping(dossierTemplate.getId())).isEmpty();
|
assertThat(legalBasisClient.getLegalBasisMapping(dossierTemplate.getId())).isEmpty();
|
||||||
assertThat(legalBasisClient.getVersion(dossierTemplate.getId())).isEqualTo(6);
|
assertThat(legalBasisClient.getVersion(dossierTemplate.getId())).isEqualTo(7);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -24,11 +24,11 @@ public class RulesTest extends AbstractPersistenceServerServiceTest {
|
|||||||
|
|
||||||
|
|
||||||
rulesClient.setRules(dossierTemplate.getId(), JSONPrimitive.of("lorem ipsum"));
|
rulesClient.setRules(dossierTemplate.getId(), JSONPrimitive.of("lorem ipsum"));
|
||||||
assertThat(rulesClient.getVersion(dossierTemplate.getId())).isEqualTo(1);
|
assertThat(rulesClient.getVersion(dossierTemplate.getId())).isEqualTo(3); //1. beim Anlegen des DossierTemplates; 2. bei provideTestTemplate(), damit es ACTIVE ist
|
||||||
assertThat(rulesClient.getRules(dossierTemplate.getId())).isEqualTo(JSONPrimitive.of("lorem ipsum"));
|
assertThat(rulesClient.getRules(dossierTemplate.getId())).isEqualTo(JSONPrimitive.of("lorem ipsum"));
|
||||||
|
|
||||||
rulesClient.setRules(dossierTemplate.getId(), JSONPrimitive.of("lorem ipsum dolor sit amet"));
|
rulesClient.setRules(dossierTemplate.getId(), JSONPrimitive.of("lorem ipsum dolor sit amet"));
|
||||||
assertThat(rulesClient.getVersion(dossierTemplate.getId())).isEqualTo(2);
|
assertThat(rulesClient.getVersion(dossierTemplate.getId())).isEqualTo(4);
|
||||||
assertThat(rulesClient.getRules(dossierTemplate.getId())).isEqualTo(JSONPrimitive.of("lorem ipsum dolor sit amet"));
|
assertThat(rulesClient.getRules(dossierTemplate.getId())).isEqualTo(JSONPrimitive.of("lorem ipsum dolor sit amet"));
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user