add test case for reverse_delete_rule with pull #1519

This commit is contained in:
Erdenezul Batmunkh 2017-06-19 06:00:21 +00:00
parent 2f1fe5468e
commit 71c3c632d7

View File

@ -1866,6 +1866,25 @@ class InstanceTest(unittest.TestCase):
author.delete() author.delete()
self.assertEqual(BlogPost.objects.count(), 0) self.assertEqual(BlogPost.objects.count(), 0)
def test_reverse_delete_rule_pull(self):
"""Ensure that a referenced document is also deleted with
pull.
"""
class Record(Document):
name = StringField()
children = ListField(ReferenceField('self', reverse_delete_rule=PULL))
Record.drop_collection()
parent_record = Record(name='parent').save()
child_record = Record(name='child').save()
parent_record.children.append(child_record)
parent_record.save()
child_record.delete()
self.assertEqual(Record.objects(name='parent').get().children, [])
def test_reverse_delete_rule_with_custom_id_field(self): def test_reverse_delete_rule_with_custom_id_field(self):
"""Ensure that a referenced document with custom primary key """Ensure that a referenced document with custom primary key
is also deleted upon deletion. is also deleted upon deletion.