Skip to content
Snippets Groups Projects

Add test for https://gitlab.com/linkahead/linkahead-pylib/-/issues/119

2 files
+ 30
0
Compare changes
  • Side-by-side
  • Inline

Files

+ 29
0
@@ -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.
Loading