MCPcopy Index your code
hub / github.com/MongoEngine/mongoengine / test_recursive_reference

Method test_recursive_reference

tests/fields/test_fields.py:1417–1442  ·  view source on GitHub ↗

Ensure that ReferenceFields can reference their own documents.

(self)

Source from the content-addressed store, hash-verified

1415 assert group_obj.members[1].name == user2.name
1416
1417 def test_recursive_reference(self):
1418 """Ensure that ReferenceFields can reference their own documents."""
1419
1420 class Employee(Document):
1421 name = StringField()
1422 boss = ReferenceField("self")
1423 friends = ListField(ReferenceField("self"))
1424
1425 Employee.drop_collection()
1426
1427 bill = Employee(name="Bill Lumbergh")
1428 bill.save()
1429
1430 michael = Employee(name="Michael Bolton")
1431 michael.save()
1432
1433 samir = Employee(name="Samir Nagheenanajar")
1434 samir.save()
1435
1436 friends = [michael, samir]
1437 peter = Employee(name="Peter Gibbons", boss=bill, friends=friends)
1438 peter.save()
1439
1440 peter = Employee.objects.with_id(peter.id)
1441 assert peter.boss == bill
1442 assert peter.friends == friends
1443
1444 def test_recursive_embedding(self):
1445 """Ensure that EmbeddedDocumentFields can contain their own documents."""

Callers

nothing calls this directly

Calls 4

drop_collectionMethod · 0.80
with_idMethod · 0.80
EmployeeClass · 0.70
saveMethod · 0.45

Tested by

no test coverage detected