RED-6770 - Cannot overwrite dossierTemplate by import

- save the existing dossier template after the updated information
- update junit test
This commit is contained in:
devplant 2023-05-31 13:16:59 +03:00
parent 656b0719ba
commit 0592dd183f
2 changed files with 16 additions and 6 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,8 +483,7 @@ public class DossierTemplateTest extends AbstractPersistenceServerServiceTest {
TenantContext.setTenantId("redaction");
var dossierTemplate = dossierTemplateTesterAndProvider.provideTestTemplate();
System.out.println("1dossierTemplate: " + dossierTemplate.getName() + ", " + dossierTemplate.getDescription() + ", "
+ dossierTemplate.getValidFrom() + " - " + dossierTemplate.getValidTo());
assertThat(dossierTemplate).isNotNull();
var existingLegalBasis = legalBasisClient.getLegalBasisMapping(dossierTemplate.getId());
assertThat(existingLegalBasis.size()).isEqualTo(1);
@ -506,13 +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());
var dossierImported = dossierTemplateClient.importDossierTemplate(importTemplate, dossierTemplate.getId(), true);
System.out.println("2dossierImported: " + dossierImported.getName() + ", " + dossierImported.getDescription() + ", "
+ dossierImported.getValidFrom() + " - " + dossierImported.getValidTo());
// assertThat(dossierImported).isNotNull();
existingLegalBasis = legalBasisClient.getLegalBasisMapping(dossierTemplate.getId());
assertThat(existingLegalBasis.isEmpty()).isTrue();
}