def setUp(self):
"""Setup the class."""
class SelfReferenceDocument(Document):
name = db.StringField()
reference = db.ReferenceField("self")
class TestDocument(Document):
title = db.StringField()
references = db.ListField(
db.ReferenceField(SelfReferenceDocument)
)
self.references = [
SelfReferenceDocument(
pk=ObjectId(), name=("test {}").format(counter)
) for counter in range(3)
]
for (index, srd) in enumerate(self.references):
srd.reference = self.references[
(index + 1) % len(self.references)
]
srd.to_json = MagicMock(side_effect=srd.to_json)
self.model_cls = TestDocument
self.model = TestDocument(
pk=ObjectId(), title="Test", references=self.references
)
self.model.to_mongo = MagicMock(
return_value={
"id": self.model.id, "title": self.model.title,
"references": self.references
}
)
self.model.to_mongo = lambda x: {
"id": self.model.pk,
"title": "Test",
"references": [str(srd.pk) for srd in self.references]
}
评论列表
文章目录