Skip to content
Snippets Groups Projects
Commit 43e59c24 authored by Henrik tom Wörden's avatar Henrik tom Wörden
Browse files

FIX: compare_entities was not written for properties. raise error

parent 81c5837b
No related branches found
No related tags found
2 merge requests!130Release v0.14.0,!129FIX: compare_entities was not written for properties. raise error
Pipeline #47390 passed
......@@ -215,6 +215,9 @@ def compare_entities(old_entity: Entity, new_entity: Entity, compare_referenced_
if old_entity is new_entity:
return (olddiff, newdiff)
if (isinstance(old_entity, Property) or isinstance(old_entity, Property)):
raise NotImplementedError("Comparing Properties is currently not supported.")
for attr in SPECIAL_ATTRIBUTES:
try:
oldattr = old_entity.__getattribute__(attr)
......@@ -246,7 +249,6 @@ def compare_entities(old_entity: Entity, new_entity: Entity, compare_referenced_
newdiff[attr] = newattr
# properties
for prop in old_entity.properties:
matching = [p for p in new_entity.properties if p.name == prop.name]
......
......@@ -211,48 +211,6 @@ def test_compare_special_properties():
assert len(diff_r2["properties"]) == 0
@pytest.mark.xfail
def test_compare_properties():
p1 = db.Property()
p2 = db.Property()
diff_r1, diff_r2 = compare_entities(p1, p2)
assert len(diff_r1["parents"]) == 0
assert len(diff_r2["parents"]) == 0
assert len(diff_r1["properties"]) == 0
assert len(diff_r2["properties"]) == 0
p1.importance = "SUGGESTED"
diff_r1, diff_r2 = compare_entities(p1, p2)
assert len(diff_r1["parents"]) == 0
assert len(diff_r2["parents"]) == 0
assert len(diff_r1["properties"]) == 0
assert len(diff_r2["properties"]) == 0
assert "importance" in diff_r1
assert diff_r1["importance"] == "SUGGESTED"
# TODO: I'm not sure why it is not like this:
# assert diff_r2["importance"] is None
# ... but:
assert "importance" not in diff_r2
p2.importance = "SUGGESTED"
p1.value = 42
p2.value = 4
diff_r1, diff_r2 = compare_entities(p1, p2)
assert len(diff_r1["parents"]) == 0
assert len(diff_r2["parents"]) == 0
assert len(diff_r1["properties"]) == 0
assert len(diff_r2["properties"]) == 0
# Comparing values currently does not seem to be implemented:
assert "value" in diff_r1
assert diff_r1["value"] == 42
assert "value" in diff_r2
assert diff_r2["value"] == 4
def test_copy_entities():
r = db.Record(name="A")
r.add_parent(name="B")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment