Merge pull request #1571 from erdenezul/reverse_delete_rule_with_pull

add test case for reverse_delete_rule with pull #1519
This commit is contained in:
erdenezul 2017-12-23 11:32:09 +08:00 committed by GitHub
commit da7d64667e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1884,6 +1884,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.