Pull request #98: RED-2529 deleting dossier attributes connected to dossiers
Merge in RED/persistence-service from bugfix/RED-2529 to master * commit '9427124a7456a85da5d75082ee1d236393bf0548': RED-2529 deleting dossier attributes connected to dossiers
This commit is contained in:
commit
bb5b93e923
@ -75,12 +75,13 @@ public class DossierAttributeConfigPersistenceService {
|
||||
|
||||
@Transactional
|
||||
public void deleteDossierAttribute(String dossierAttributeId) {
|
||||
dossierAttributeRepository.deleteByDossierAttributeConfigId(dossierAttributeId);
|
||||
dossierAttributeConfigRepository.deleteById(dossierAttributeId);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public void deleteDossierAttributes(List<String> dossierAttributeIds) {
|
||||
dossierAttributeConfigRepository.deleteByDossierAtributeIds(dossierAttributeIds);
|
||||
dossierAttributeIds.forEach(this::deleteDossierAttribute);
|
||||
}
|
||||
|
||||
public List<DossierAttributeConfigEntity> getDossierAttributes(String dossierTemplateId) {
|
||||
|
||||
@ -17,7 +17,7 @@ public interface DossierAttributeRepository extends JpaRepository<DossierAttribu
|
||||
List<DossierAttributeEntity> findByDossierTemplateId(String dossierTemplateId);
|
||||
|
||||
@Modifying
|
||||
@Query("DELETE FROM DossierAttributeEntity e WHERE e.dossierAttributeConfig.id = :id")
|
||||
@Query("DELETE FROM DossierAttributeEntity e WHERE e.id.dossierAttributeConfigId = :id")
|
||||
void deleteByDossierAttributeConfigId(String id);
|
||||
|
||||
@Modifying
|
||||
|
||||
@ -14,6 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
@ -62,6 +63,13 @@ public class DossierAttributeTest extends AbstractPersistenceServerServiceTest {
|
||||
dossierAttributeConfigClient.setDossierAttributesConfig(dossier.getDossierTemplateId(), Lists.newArrayList(attribute));
|
||||
loadedAttributes = dossierAttributeConfigClient.getDossierAttributes(dossier.getDossierTemplateId());
|
||||
assertThat(loadedAttributes).isNotEmpty();
|
||||
|
||||
dossierAttributeConfigClient.deleteDossierAttributes(
|
||||
loadedAttributes.stream().map(DossierAttributeConfig::getId).collect(Collectors.toList()));
|
||||
dossierAttributeConfigClient.setDossierAttributesConfig(dossier.getDossierTemplateId(), Lists.newArrayList(attribute));
|
||||
loadedAttributes = dossierAttributeConfigClient.getDossierAttributes(dossier.getDossierTemplateId());
|
||||
assertThat(loadedAttributes).isNotEmpty();
|
||||
|
||||
var configId = loadedAttributes.iterator().next().getId();
|
||||
|
||||
|
||||
@ -84,15 +92,20 @@ public class DossierAttributeTest extends AbstractPersistenceServerServiceTest {
|
||||
firstAttribute = loadedAttributeValues.iterator().next();
|
||||
assertThat(firstAttribute.getValue()).isEqualTo("test");
|
||||
|
||||
|
||||
dossierAttributeClient.deleteDossierAttribute(dossier.getId(), firstAttribute.getDossierAttributeConfigId());
|
||||
loadedAttributeValues = dossierAttributeClient.getDossierAttributes(dossier.getId());
|
||||
assertThat(loadedAttributeValues).isEmpty();
|
||||
|
||||
dossierAttributeClient.setDossierAttributes(dossier.getId(), dossierAttributes);
|
||||
loadedAttributeValues = dossierAttributeClient.getDossierAttributes(dossier.getId());
|
||||
assertThat(loadedAttributeValues).isNotEmpty();
|
||||
|
||||
//delete the list of dossier attribute config with child
|
||||
dossierAttributeConfigClient.deleteDossierAttributes(Lists.newArrayList(loadedAttributes.iterator().next().getId()));
|
||||
loadedAttributes = dossierAttributeConfigClient.getDossierAttributes(dossier.getDossierTemplateId());
|
||||
assertThat(loadedAttributes).isEmpty();
|
||||
loadedAttributeValues = dossierAttributeClient.getDossierAttributes(dossier.getId());
|
||||
assertThat(loadedAttributeValues).isEmpty();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user