diff --git a/tests/test_issues_server.py b/tests/test_issues_server.py index 7bb09729e58cef81093e008323e31071b9fccef9..3489fb64f655ba7992872d4813eea7f8dc6488ef 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"""