Pull request #700: Bugfix/RED-6770 metadata

Merge in RED/persistence-service from bugfix/RED-6770-metadata to master

* commit '0592dd183f9aa87003ef46abe8be2ab8cf52eef1':
  RED-6770 - Cannot overwrite dossierTemplate by import - save the existing dossier template after the updated information - update junit test
  RED-6770 - Cannot overwrite dossierTemplate by import - test junit
This commit is contained in:
Corina Olariu 2023-06-01 09:40:21 +02:00
commit 11c032c1d9
2 changed files with 17 additions and 3 deletions

View File

@ -297,6 +297,7 @@ public class DossierTemplateImportService {
// override the existing dossier template
updateDossierTemplateMeta(existingDossierTemplate, dossierTemplateMeta, request.getUserId());
dossierTemplateRepository.save(existingDossierTemplate);
// set rules
rulesPersistenceService.setRules(request.getRuleSet(), dossierTemplateId);
@ -512,9 +513,8 @@ public class DossierTemplateImportService {
this.validateDossierTemplateName(dossierTemplate);
}
BeanUtils.copyProperties(dossierTemplate, dossierTemplateEntity, "modifiedBy", "dateModified", "validFrom", "validTo", "downloadFileTypes");
OffsetDateTime now = OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS);
dossierTemplateEntity.setName(dossierTemplate.getName());
dossierTemplateEntity.setDescription(dossierTemplate.getDescription());
dossierTemplateEntity.setDateModified(now);
dossierTemplateEntity.setModifiedBy(userId);
dossierTemplateEntity.setValidFrom(dossierTemplate.getValidFrom() == null ? dossierTemplateEntity.getValidFrom() : dossierTemplate.getValidFrom());

View File

@ -483,6 +483,7 @@ public class DossierTemplateTest extends AbstractPersistenceServerServiceTest {
TenantContext.setTenantId("redaction");
var dossierTemplate = dossierTemplateTesterAndProvider.provideTestTemplate();
assertThat(dossierTemplate).isNotNull();
var existingLegalBasis = legalBasisClient.getLegalBasisMapping(dossierTemplate.getId());
assertThat(existingLegalBasis.size()).isEqualTo(1);
@ -504,11 +505,24 @@ public class DossierTemplateTest extends AbstractPersistenceServerServiceTest {
existingLegalBasis = legalBasisClient.getLegalBasisMapping(dossierTemplate.getId());
assertThat(existingLegalBasis.size()).isEqualTo(1);
// update dossier template metadata
var cru = new DossierTemplateModel();
cru.setDossierTemplateId(dossierTemplate.getId());
BeanUtils.copyProperties(dossierTemplate, cru);
cru.setName("Template 1 Update");
cru.setDescription("new description");
cru.setKeepImageMetadata(true);
var updated = dossierTemplateClient.createOrUpdateDossierTemplate(cru);
assertThat(updated.getName()).isNotEqualTo(dossierTemplate.getName());
var storedObject = storageService.getObject(TenantContext.getTenantId(), status.getStorageId());
var importTemplate = new MockMultipartFile("import.zip", "import.zip", "application/zip", storedObject.getInputStream());
dossierTemplateClient.importDossierTemplate(importTemplate, dossierTemplate.getId(), true);
var dossierImported = dossierTemplateClient.importDossierTemplate(importTemplate, dossierTemplate.getId(), true);
// assertThat(dossierImported).isNotNull();
existingLegalBasis = legalBasisClient.getLegalBasisMapping(dossierTemplate.getId());
assertThat(existingLegalBasis.isEmpty()).isTrue();
}