Skip to content
Snippets Groups Projects
Commit 2c20954e authored by Florian Spreckelsen's avatar Florian Spreckelsen
Browse files

Merge branch 'f-bug-fit-94-compare-properties-with-id' into 'dev'

parents 612321b4 b6f88996
Branches
Tags
1 merge request!84Add test for https://gitlab.com/linkahead/linkahead-pylib/-/issues/119
Pipeline #58582 passed
......@@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added (for new features)
* Test for [caosdb-pylib#119](https://gitlab.com/linkahead/linkahead-pylib/-/issues/119)
* Test for [caosdb-pylib#89](https://gitlab.com/linkahead/linkahead-pylib/-/issues/89)
* Test for [caosdb-pylib#103](https://gitlab.com/linkahead/linkahead-pylib/-/issues/103)
* Tests for entity state [caosdb-server!62](https://gitlab.com/caosdb/caosdb-server/-/merge_requests/62)
......
......@@ -36,6 +36,7 @@ import pytest
from linkahead import administration as admin
from linkahead.exceptions import (TransactionError, HTTPClientError)
from linkahead.apiutils import compare_entities, empty_diff, merge_entities
CURATOR_ROLE = "curator"
......@@ -138,6 +139,34 @@ def test_gitlab_com_108():
print("deleted")
def test_gitlab_com_119():
"""
Test that merge_entities works on properties with id but no name.
See https://gitlab.com/linkahead/linkahead-pylib/-/issues/119 and
https://gitlab.indiscale.com/caosdb/customers/f-fit/management/-/issues/94
"""
prop = db.Property(name="Test", datatype=db.TEXT).insert()
rt = db.RecordType(name="TestRT").insert()
rec1 = db.Record(name="TestRec").add_parent(rt)
rec2 = db.Record(name="TestRec").add_parent(rt)
rec1.add_property(id=prop.id, value="something")
# Ensure rec1 has prop, rec2 does not
assert not empty_diff(rec1, rec2)
assert len(rec2.properties) == 0
diff1, diff2 = compare_entities(rec1, rec2)
assert prop.id in diff1["properties"]
assert None not in diff1["properties"]
assert len(diff2["properties"]) == 0
# Merge and check rec2 now has prop
merge_entities(rec2, rec1)
assert rec2.get_property(prop) is not None
assert empty_diff(rec1.get_property(prop), rec2.get_property(prop))
def test_gitlab_com_120():
"""Test that an update doesn't add unwanted subproperties.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment