RED-5403 - Dossier Template export and import
- delete current justifications when the import has none - update junit tests
This commit is contained in:
parent
4035abe2f3
commit
fa5a8245a1
@ -178,6 +178,14 @@ public class DossierTemplateImportService {
|
||||
}
|
||||
});
|
||||
|
||||
// set legal basis
|
||||
if (CollectionUtils.isNotEmpty(request.getLegalBases())) {
|
||||
legalBasisMappingPersistenceService.setLegalBasisMapping(dossierTemplateId, request.getLegalBases());
|
||||
} else { // delete existing
|
||||
var existingLegalBasis = legalBasisMappingPersistenceService.getLegalBasisMapping(dossierTemplateId).stream().map(LegalBasisEntity::getName).collect(Collectors.toList());
|
||||
legalBasisMappingPersistenceService.deleteLegalBasis(dossierTemplateId, existingLegalBasis);
|
||||
}
|
||||
|
||||
} else {
|
||||
// creates new dossier template
|
||||
if (StringUtils.isEmpty(dossierTemplateMeta.getName())) {
|
||||
@ -253,11 +261,12 @@ public class DossierTemplateImportService {
|
||||
reportTemplateService.uploadTemplate(reportRequest);
|
||||
});
|
||||
}
|
||||
// set legal basis
|
||||
if (CollectionUtils.isNotEmpty(request.getLegalBases())) {
|
||||
legalBasisMappingPersistenceService.setLegalBasisMapping(dossierTemplateId, request.getLegalBases());
|
||||
}
|
||||
}
|
||||
// set legal basis
|
||||
if (CollectionUtils.isNotEmpty(request.getLegalBases())) {
|
||||
legalBasisMappingPersistenceService.setLegalBasisMapping(dossierTemplateId, request.getLegalBases());
|
||||
}
|
||||
|
||||
|
||||
// file attribute general configuration
|
||||
if(request.getFileAttributesGeneralConfiguration() != null) {
|
||||
|
||||
@ -7,6 +7,7 @@ import com.iqser.red.service.peristence.v1.server.integration.service.DossierTes
|
||||
import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest;
|
||||
import com.iqser.red.service.peristence.v1.server.service.export.ExportDownloadMessageReceiver;
|
||||
import com.iqser.red.service.peristence.v1.server.utils.StorageIdUtils;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.LegalBasisEntity;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierTemplateEntity;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.ReportTemplateEntity;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.*;
|
||||
@ -34,6 +35,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.iqser.red.service.persistence.management.v1.processor.utils.MagicConverter.convert;
|
||||
import static org.assertj.core.api.Assertions.as;
|
||||
@ -370,6 +372,51 @@ public class DossierTemplateTest extends AbstractPersistenceServerServiceTest {
|
||||
assertThat(statuses.get(0).getStatus()).isEqualTo(DownloadStatusValue.READY);
|
||||
}
|
||||
|
||||
@SneakyThrows
|
||||
@Test
|
||||
public void testExportAndImportDossierTemplateWithJustificationsNotPresent() {
|
||||
var dossierTemplate = dossierTemplateTesterAndProvider.provideTestTemplate();
|
||||
|
||||
var existingLegalBasis = legalBasisClient.getLegalBasisMapping(dossierTemplate.getId());
|
||||
assertThat(existingLegalBasis.size()).isEqualTo(1);
|
||||
|
||||
// delete justifications for export
|
||||
legalBasisClient.deleteLegalBasis(dossierTemplate.getId(), existingLegalBasis.stream().map(LegalBasis::getName).collect(Collectors.toList()));
|
||||
existingLegalBasis = legalBasisClient.getLegalBasisMapping(dossierTemplate.getId());
|
||||
assertThat(existingLegalBasis.isEmpty()).isTrue();
|
||||
|
||||
dossierTemplateClient.prepareExportDownload(ExportDownloadRequest.builder()
|
||||
.userId("1")
|
||||
.dossierTemplateId(dossierTemplate.getId())
|
||||
.build());
|
||||
var statuses = downloadClient.getDownloadStatus("1");
|
||||
assertThat(statuses).isNotEmpty();
|
||||
|
||||
|
||||
String storageId = StorageIdUtils.getStorageId("1", dossierTemplate.getId());
|
||||
dossierTemplateClient.createExportDownload("1", storageId);
|
||||
|
||||
statuses = downloadClient.getDownloadStatus("1");
|
||||
assertThat(statuses).isNotEmpty();
|
||||
assertThat(statuses.get(0).getStatus()).isEqualTo(DownloadStatusValue.READY);
|
||||
|
||||
// add new justifications
|
||||
legalBasisClient.setLegalBasisMapping(dossierTemplate.getId(), List.of(new LegalBasis("nameAgain", "description", "reason")));
|
||||
existingLegalBasis = legalBasisClient.getLegalBasisMapping(dossierTemplate.getId());
|
||||
assertThat(existingLegalBasis.size()).isEqualTo(1);
|
||||
|
||||
ImportDossierTemplateRequest request1 = ImportDossierTemplateRequest.builder()
|
||||
.dossierTemplateId(dossierTemplate.getId())
|
||||
.updateExistingDossierTemplate(true)
|
||||
.userId("1")
|
||||
.archive(storageService.getObject(storageId).getInputStream().readAllBytes())
|
||||
.build();
|
||||
|
||||
dossierTemplateClient.importDossierTemplate(request1);
|
||||
existingLegalBasis = legalBasisClient.getLegalBasisMapping(dossierTemplate.getId());
|
||||
assertThat(existingLegalBasis.isEmpty()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
@SneakyThrows
|
||||
public void testImportDossierTemplateUpdateExisting() {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user