From f869471e17c8df283d0f94414bb868a677e42c9b Mon Sep 17 00:00:00 2001
From: Daniel <d.hornung@indiscale.com>
Date: Fri, 11 Aug 2023 15:37:20 +0200
Subject: [PATCH] TEST: Short test for #156

---
 unittests/test_issues.py | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/unittests/test_issues.py b/unittests/test_issues.py
index 2c45a6d7..3fb48416 100644
--- a/unittests/test_issues.py
+++ b/unittests/test_issues.py
@@ -37,3 +37,30 @@ def test_issue_100():
     with raises(TypeError) as exc_info:
         db.common.models._parse_single_xml_element(xml_el)
     assert "Invalid datatype: List valued properties" in str(exc_info.value)
+
+
+def test_issue_156():
+    """Does parse_value make a mistake with entities?
+
+    https://gitlab.indiscale.com/caosdb/src/caosdb-pylib/-/issues/156
+    """
+    project = db.Record(name="foo")
+    project.add_parent(name="RTName")
+    # <Record name="foo">
+    #   <Parent name="RTName"/>
+    # </Record>
+    experiment = db.Record()
+    experiment.add_property(name="RTName", value=project)
+    # <Record>
+    #   <Property name="RTName" importance="FIX" flag="inheritance:FIX">foo</Property>
+    # </Record>
+    value = experiment.get_property("RTName").value
+    # <Record name="foo">
+    #   <Parent name="RTName"/>
+    # </Record>
+    parents = value.get_parents()
+    # <ParentList>
+    #   <Parent name="RTName"/>
+    # </ParentList>
+    assert value is project
+    assert parents[0].name == "RTName"
-- 
GitLab