diff --git a/tests/test_issues_server.py b/tests/test_issues_server.py index 794ce8ca3fd31e2aa1736be342eeca9dc5a30d86..960af63b22f4406304b9d31631cdadb523e5660f 100644 --- a/tests/test_issues_server.py +++ b/tests/test_issues_server.py @@ -1202,3 +1202,27 @@ def test_144(): assert isinstance(value, float) assert value == 1e23 assert value == 1e+23 + + +def test_166(): + """https://gitlab.com/caosdb/caosdb-server/-/issues/166""" + db.RecordType(name="exists").insert() + db.Property(name="exists_property", datatype=db.INTEGER).insert() + + db.RecordType(name="RT1").add_parent("exists").insert() + db.RecordType(name="RT2").add_parent("exists").add_property("exists_property", 32453).insert() + + with pytest.raises(TransactionError) as cm: + db.Record(name="RT3").add_parent("notexists").insert() + assert [e.msg for e in cm.value.errors] == ["Entity has unqualified parents."] + + with pytest.raises(TransactionError) as cm: + db.Record(name="RT4").add_parent("exists").add_property("notexists", 234243).insert() + assert [e.msg for e in cm.value.errors] == ["Entity has unqualified properties."] + + with pytest.raises(TransactionError) as cm: + db.Record( + name="RT5").add_parent("notexists").add_property( + "exists_property", + 234243).insert() + assert [e.msg for e in cm.value.errors] == ["Entity has unqualified parents."]