RED-10071 - Create system-managed entities automatically - fix component definitions
- when import dossier template with update before inserting component definitions, remove the existing ones - unit test added
This commit is contained in:
parent
a2e1b4367a
commit
4c5f164f2e
@ -627,6 +627,9 @@ public class DossierTemplateImportService {
|
||||
|
||||
private void updateComponents(ImportTemplateResult request, String dossierTemplateId) {
|
||||
|
||||
List<ComponentDefinitionEntity> existingComponentDefinitions = componentDefinitionPersistenceService.findComponentsByDossierTemplateId(dossierTemplateId);
|
||||
existingComponentDefinitions.forEach(componentDefinition -> componentDefinitionPersistenceService.delete(componentDefinition.getId()));
|
||||
|
||||
request.getComponentDefinitions()
|
||||
.forEach(componentDefinition -> {
|
||||
componentDefinition.setDossierTemplateId(dossierTemplateId);
|
||||
|
||||
@ -149,6 +149,24 @@ public class DossierTemplateImportTest extends AbstractPersistenceServerServiceT
|
||||
assertThat(systemManagedTypes.size()).isEqualTo(8);
|
||||
}
|
||||
|
||||
@SneakyThrows
|
||||
@Test
|
||||
public void testDossierTemplateImportAsUpdateDM() {
|
||||
|
||||
TenantContext.setTenantId("redaction");
|
||||
|
||||
var archive = loadFileFromClasspath("dm.zip");
|
||||
var request = ImportDossierTemplateRequest.builder().archive(archive).updateExistingDossierTemplate(false).userId("system").build();
|
||||
DossierTemplate dossierTemplate = dossierTemplateManagementService.importDossierTemplate(request);
|
||||
|
||||
TypeResponse types = dictionaryClient.getAllTypes(dossierTemplate.getId(), null, true);
|
||||
List<TypeValue> systemManagedTypes = types.getTypes().stream().filter(TypeValue::isSystemManaged).collect(Collectors.toList());
|
||||
assertThat(systemManagedTypes.size()).isEqualTo(8);
|
||||
|
||||
var request1 = ImportDossierTemplateRequest.builder().archive(archive).dossierTemplateId(dossierTemplate.getId()).updateExistingDossierTemplate(true).userId("system").build();
|
||||
dossierTemplateManagementService.importDossierTemplate(request1);
|
||||
}
|
||||
|
||||
@SneakyThrows
|
||||
@Test
|
||||
public void testDossierTemplateImportWithTheSameName() {
|
||||
|
||||
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user