From 2a794bd3943c44c869c1b8a7c23ac4ce630fa3ad Mon Sep 17 00:00:00 2001 From: Daniel <d.hornung@indiscale.com> Date: Mon, 27 Feb 2023 15:57:04 +0100 Subject: [PATCH] ENH: Test for issue caosdb-server#192. Testing queries with Property by name. --- CHANGELOG.md | 1 + tests/test_issues_server.py | 30 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ed32d4b..3abb914 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -43,6 +43,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 * Test for [caosdb-server#145](https://gitlab.com/caosdb/caosdb-server/-/issues/145) * Tests for [caosdb-pylib#90](https://gitlab.com/caosdb/caosdb-pylib/-/issues/90): `Entity.get_parents_recursively()` did not work for unretrieved parents. +* Test for [caosdb-server#192](https://gitlab.com/caosdb/caosdb-server/-/issues/192) ### Changed (for changes in existing functionality) diff --git a/tests/test_issues_server.py b/tests/test_issues_server.py index ddc87b9..5f44b68 100644 --- a/tests/test_issues_server.py +++ b/tests/test_issues_server.py @@ -1134,3 +1134,33 @@ def test_135(): r1 = db.Record().add_parent("TestRT1").insert() r2 = db.Record().add_parent("TestRT1").add_property("TestProp", r1).insert() assert len(db.execute_query("FIND ENTITY WHICH IS REFERENCED BY A TestRT1 AS TestProp")) == 1 + + +def test_192(): + """Testing queries with Property by name. + +See https://gitlab.com/caosdb/caosdb-server/-/issues/192 + +COUNT Record WHICH HAS price -> Results: 19 +COUNT Record WHICH HAS Property price -> Results: 19 +COUNT Record WITH price -> Results: 19 +COUNT Record WITH Property price -> Results: 0 +""" + db.Property(name="testprop", datatype=db.DOUBLE).insert() + db.RecordType(name="TestRT").add_property("testprop").insert() + db.Record(name="Rec1").add_parent("TestRT").add_property("testprop", value=3.1).insert() + + query1 = "COUNT Record WHICH HAS testprop" + query2 = "COUNT Record WHICH HAS Property testprop" + query3 = "COUNT Record WITH testprop" + query4 = "COUNT Record WITH Property testprop" + + count1 = db.execute_query(query1) + count2 = db.execute_query(query2) + count3 = db.execute_query(query3) + count4 = db.execute_query(query4) + + assert count1 == 1 + assert count2 == 1 + assert count3 == 1 + assert count4 == 1 -- GitLab