Merge branch 'RED-9925' into 'master'
RED-9925: 500 when creating justification without technical name or name Closes RED-9925 See merge request redactmanager/persistence-service!743
This commit is contained in:
commit
cbce87430f
@ -5,6 +5,7 @@ import static com.knecon.fforesight.databasetenantcommons.providers.utils.MagicC
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@ -74,16 +75,23 @@ public class LegalBasisMappingPersistenceService {
|
|||||||
@Transactional
|
@Transactional
|
||||||
public void addOrUpdateLegalBasis(String dossierTemplateId, LegalBasis legalBasis) {
|
public void addOrUpdateLegalBasis(String dossierTemplateId, LegalBasis legalBasis) {
|
||||||
|
|
||||||
|
if (legalBasis.getTechnicalName() == null) {
|
||||||
|
throw new BadRequestException("Can not add or update legal basis in dossier template because technical name it is not set.");
|
||||||
|
}
|
||||||
|
if (legalBasis.getName() == null) {
|
||||||
|
throw new BadRequestException("Can not add or update legal basis in dossier template because name it is not set.");
|
||||||
|
}
|
||||||
|
|
||||||
var mapping = getLegalBasisMappingOrCreate(dossierTemplateId);
|
var mapping = getLegalBasisMappingOrCreate(dossierTemplateId);
|
||||||
|
|
||||||
Optional<LegalBasisEntity> existingBasisByTechnicalName = mapping.getLegalBasis()
|
Optional<LegalBasisEntity> existingBasisByTechnicalName = mapping.getLegalBasis()
|
||||||
.stream()
|
.stream()
|
||||||
.filter(l -> l.getTechnicalName().equals(legalBasis.getTechnicalName()))
|
.filter(l -> Objects.equals(l.getTechnicalName(), legalBasis.getTechnicalName()))
|
||||||
.findAny();
|
.findAny();
|
||||||
|
|
||||||
Optional<LegalBasisEntity> existingBasisByName = mapping.getLegalBasis()
|
Optional<LegalBasisEntity> existingBasisByName = mapping.getLegalBasis()
|
||||||
.stream()
|
.stream()
|
||||||
.filter(l -> l.getName().equals(legalBasis.getName()))
|
.filter(l -> Objects.equals(l.getName(), legalBasis.getName()))
|
||||||
.findAny();
|
.findAny();
|
||||||
|
|
||||||
if (existingBasisByTechnicalName.isPresent() && existingBasisByName.isPresent()) {
|
if (existingBasisByTechnicalName.isPresent() && existingBasisByName.isPresent()) {
|
||||||
|
|||||||
@ -1,6 +1,8 @@
|
|||||||
package com.iqser.red.service.peristence.v1.server.integration.tests;
|
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.assertThat;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@ -76,6 +78,23 @@ public class LegalBasisTest extends AbstractPersistenceServerServiceTest {
|
|||||||
legalBasisClient.setLegalBasisMapping(Lists.newArrayList(), dossierTemplate.getId());
|
legalBasisClient.setLegalBasisMapping(Lists.newArrayList(), dossierTemplate.getId());
|
||||||
assertThat(legalBasisClient.getLegalBasisMapping(dossierTemplate.getId())).isEmpty();
|
assertThat(legalBasisClient.getLegalBasisMapping(dossierTemplate.getId())).isEmpty();
|
||||||
|
|
||||||
|
legalBasis = LegalBasis.builder().name("test 4").description(null).reason("test ").technicalName("test 4").build();
|
||||||
|
legalBasisClient.addOrUpdateLegalBasis(dossierTemplate.getId(), legalBasis);
|
||||||
|
mapping = legalBasisClient.getLegalBasisMapping(dossierTemplate.getId());
|
||||||
|
assertThat(mapping.size()).isEqualTo(1);
|
||||||
|
|
||||||
|
legalBasis = LegalBasis.builder().name("test 5").description("test 5").reason(null).technicalName("test 5").build();
|
||||||
|
legalBasisClient.addOrUpdateLegalBasis(dossierTemplate.getId(), legalBasis);
|
||||||
|
mapping = legalBasisClient.getLegalBasisMapping(dossierTemplate.getId());
|
||||||
|
assertThat(mapping.size()).isEqualTo(2);
|
||||||
|
|
||||||
|
LegalBasis finalLegalBasis2 = LegalBasis.builder().name(null).description("test").reason("test").technicalName("test").build();
|
||||||
|
var e = assertThrows(FeignException.class, () -> legalBasisClient.addOrUpdateLegalBasis(dossierTemplate.getId(), finalLegalBasis2));
|
||||||
|
assertEquals(e.status(), 400);
|
||||||
|
|
||||||
|
LegalBasis finalLegalBasis1 = LegalBasis.builder().name("test").description("test").reason("test").technicalName(null).build();
|
||||||
|
e = assertThrows(FeignException.class, () -> legalBasisClient.addOrUpdateLegalBasis(dossierTemplate.getId(), finalLegalBasis1));
|
||||||
|
assertEquals(e.status(), 400);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user