From 31c5e19752b1f42dbede8658ac416532c723a5d2 Mon Sep 17 00:00:00 2001
From: florian <f.spreckelsen@inidscale.com>
Date: Wed, 26 Oct 2022 13:59:29 +0200
Subject: [PATCH] TST: Extend merge-bug test

---
 unittests/test_apiutils.py | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/unittests/test_apiutils.py b/unittests/test_apiutils.py
index d86b7523..4d15f3b0 100644
--- a/unittests/test_apiutils.py
+++ b/unittests/test_apiutils.py
@@ -393,6 +393,21 @@ def test_wrong_merge_conflict_reference():
     assert rec_a.get_property(license_rt.name) is not None
     assert rec_a.get_property(license_rt.name).value is not None
     assert isinstance(rec_a.get_property(license_rt.name).value, db.Record)
+    assert rec_a.get_property(license_rt.name).value.name == license_rec_a.name
+    assert rec_a.get_property(license_rt.name).value.name == license_rec_b.name
+    assert rec_a.get_property("title").value == "Some dataset title"
+    assert rec_a.get_property("doi").value == "https://doi.org/12345.678"
+
+    # this does not compare referenced records, so it will fail
+    with pytest.raises(RuntimeError) as re:
+        merge_entities(rec_a, rec_b, merge_references_with_empty_diffs=False)
+    assert "Merge conflict" in str(re.value)
+
+    # ... as should this, of course
+    rec_b.get_property(license_rt.name).value.name = "Another license"
+    with pytest.raises(RuntimeError) as re:
+        merge_entities(rec_a, rec_b)
+    assert "Merge conflict" in str(re.value)
 
 
 def test_empty_diff():
-- 
GitLab