fixed hard delete and dossier template
This commit is contained in:
parent
57006ff6a4
commit
f2b4d175c2
@ -15,7 +15,6 @@ import java.time.temporal.ChronoUnit;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.UUID;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
@Service
|
||||
@ -65,14 +64,13 @@ public class DossierTemplatePersistenceService {
|
||||
public void deleteDossierTemplate(String dossierTemplateId, String deletingUserId) {
|
||||
dossierTemplateRepository.findById(dossierTemplateId).ifPresentOrElse((dossierTemplate) -> {
|
||||
|
||||
dossierTemplate.getDossiers().stream().filter(template -> !)
|
||||
if (dossierTemplate.getDossiers().stream().filter(d -> d.getHardDeletedTime() ==null).collect(Collectors.toList()).isEmpty()) {
|
||||
|
||||
var hasNonDeletedDossiers = dossierTemplate.getDossiers().stream().anyMatch(template -> template.getHardDeletedTime() == null);
|
||||
if (hasNonDeletedDossiers) {
|
||||
throw new BadRequestException("Cannot delete dossier template with active dossiers!");
|
||||
} else {
|
||||
dossierTemplate.setModifiedBy(deletingUserId);
|
||||
dossierTemplate.setDateModified(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||
dossierTemplate.setSoftDeleteTime(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||
} else {
|
||||
throw new BadRequestException("Cannot delete dossier template with active dossiers!");
|
||||
}
|
||||
}, () -> {
|
||||
throw new NotFoundException(String.format(DOSSIER_TEMPLATE_NOT_FOUND_MESSAGE, dossierTemplateId));
|
||||
|
||||
@ -1,7 +1,9 @@
|
||||
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.DossierTemplateClient;
|
||||
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.CreateOrUpdateDossierTemplateRequest;
|
||||
import feign.FeignException;
|
||||
@ -9,16 +11,24 @@ import org.junit.Test;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import java.util.Collections;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
public class DossierTemplateTest extends AbstractPersistenceServerServiceTest {
|
||||
|
||||
@Autowired
|
||||
private DossierTesterAndProvider dossierTesterAndProvider;
|
||||
|
||||
@Autowired
|
||||
private DossierTemplateTesterAndProvider dossierTemplateTesterAndProvider;
|
||||
|
||||
@Autowired
|
||||
private DossierTemplateClient dossierTemplateClient;
|
||||
|
||||
@Autowired
|
||||
private DossierClient dossierClient;
|
||||
|
||||
@Test
|
||||
public void testDossierTemplate() {
|
||||
|
||||
@ -50,5 +60,18 @@ public class DossierTemplateTest extends AbstractPersistenceServerServiceTest {
|
||||
updated = dossierTemplateClient.createOrUpdateDossierTemplate(cru);
|
||||
assertThat(updated.getName()).isEqualTo("Template 1 Update");
|
||||
|
||||
var testDossier = dossierTesterAndProvider.provideTestDossier(updated);
|
||||
|
||||
try{
|
||||
dossierTemplateClient.deleteDossierTemplate(updated.getId(), "1");
|
||||
}catch (FeignException e){
|
||||
assertThat(e.status()).isEqualTo(400);
|
||||
}
|
||||
|
||||
dossierClient.hardDeleteDossiers(Collections.singleton(testDossier.getId()));
|
||||
|
||||
dossierTemplateClient.deleteDossierTemplate(updated.getId(), "1");
|
||||
assertThat(dossierTemplateClient.getAllDossierTemplates().isEmpty()).isTrue();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user