From ee969d2269169bd891c2ebd292c95fdda4de84f6 Mon Sep 17 00:00:00 2001
From: fspreck <f.spreckelsen@indiscale.com>
Date: Wed, 3 May 2023 14:57:27 +0200
Subject: [PATCH] TST: Add an xfailing test for
 https://gitlab.com/caosdb/caosdb-server/-/issues/186

---
 tests/test_issues_server.py | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/tests/test_issues_server.py b/tests/test_issues_server.py
index 7bb0972..3489fb6 100644
--- a/tests/test_issues_server.py
+++ b/tests/test_issues_server.py
@@ -1326,6 +1326,34 @@ def test_166():
     assert [e.msg for e in cm.value.errors] == ["Entity has unqualified parents."]
 
 
+@pytest.mark.xfail(reason="Fix https://gitlab.com/caosdb/caosdb-server/-/issues/186.")
+def test_186():
+    """
+    CQL: FIND ENTITY WHICH REFERENCES A RECORD shows no results
+
+    https://gitlab.com/caosdb/caosdb-server/-/issues/186
+
+    """
+    rt = db.RecordType(name="TestType")
+    rt.insert()
+    ra = db.Record(name="TestRecA").add_parent(rt)
+    ra.insert()
+    rb = db.Record(name="TestRecB").add_parent(rt).add_property(name=rt.name, value=ra.id)
+    rb.insert()
+
+    # Explicitly specifying a RecordType name works ...
+    results = db.execute_query(f"FIND ENTITY WHICH REFERENCES {rt.name}")
+    assert len(results) == 1
+    assert results[0].id == rb.id
+    assert results[0].get_property(rt.name).value == ra.id
+
+    # ... generic RECORD doesn't
+    results = db.execute_query("FIND ENTITY WHICH REFERENCES RECORD")
+    assert len(results) == 1
+    assert results[0].id == rb.id
+    assert results[0].get_property(rt.name).value == ra.id
+
+
 @pytest.mark.xfail(reason="fix needed")
 def test_195():
     """https://gitlab.com/caosdb/caosdb-server/-/issues/195"""
-- 
GitLab