def test_can_merge_node_with_model_overriding_arguments(graph): from py2neo.ogm import Model class Person(Model): __primarylabel__ = "Person" __primarykey__ = "name" graph.delete_all() a = Node("Person", name="Alice") a.__model__ = Person graph.merge(a, "Human", "nom") assert graph.nodes.match("Person", name="Alice").first() == a
def test_merge_with_magic_values_overrides_arguments(graph, make_unique_id): from py2neo.ogm import Model label_a = make_unique_id() label_b = make_unique_id() class ModelB(Model): __primarylabel__ = label_b __primarykey__ = "b" a = Node(label_a, a=1) b = Node(label_b, b=2) graph.create(a | b) a_id = a.identity b_id = b.identity node = Node(label_a, label_b, a=1, b=2) node.__model__ = ModelB graph.merge(node, label_a, "a") assert node.identity != a_id assert node.identity == b_id