Added queryset delete tests for signals
This commit is contained in:
		| @@ -83,6 +83,24 @@ class SignalTests(unittest.TestCase): | |||||||
|         self.Author = Author |         self.Author = Author | ||||||
|         Author.drop_collection() |         Author.drop_collection() | ||||||
|  |  | ||||||
|  |         class Another(Document): | ||||||
|  |  | ||||||
|  |             name = StringField() | ||||||
|  |  | ||||||
|  |             def __unicode__(self): | ||||||
|  |                 return self.name | ||||||
|  |  | ||||||
|  |             @classmethod | ||||||
|  |             def pre_delete(cls, sender, document, **kwargs): | ||||||
|  |                 signal_output.append('pre_delete signal, %s' % document) | ||||||
|  |  | ||||||
|  |             @classmethod | ||||||
|  |             def post_delete(cls, sender, document, **kwargs): | ||||||
|  |                 signal_output.append('post_delete signal, %s' % document) | ||||||
|  |  | ||||||
|  |         self.Another = Another | ||||||
|  |         Another.drop_collection() | ||||||
|  |  | ||||||
|         class ExplicitId(Document): |         class ExplicitId(Document): | ||||||
|             id = IntField(primary_key=True) |             id = IntField(primary_key=True) | ||||||
|  |  | ||||||
| @@ -121,6 +139,9 @@ class SignalTests(unittest.TestCase): | |||||||
|         signals.pre_bulk_insert.connect(Author.pre_bulk_insert, sender=Author) |         signals.pre_bulk_insert.connect(Author.pre_bulk_insert, sender=Author) | ||||||
|         signals.post_bulk_insert.connect(Author.post_bulk_insert, sender=Author) |         signals.post_bulk_insert.connect(Author.post_bulk_insert, sender=Author) | ||||||
|  |  | ||||||
|  |         signals.pre_delete.connect(Another.pre_delete, sender=Another) | ||||||
|  |         signals.post_delete.connect(Another.post_delete, sender=Another) | ||||||
|  |  | ||||||
|         signals.post_save.connect(ExplicitId.post_save, sender=ExplicitId) |         signals.post_save.connect(ExplicitId.post_save, sender=ExplicitId) | ||||||
|  |  | ||||||
|     def tearDown(self): |     def tearDown(self): | ||||||
| @@ -134,6 +155,9 @@ class SignalTests(unittest.TestCase): | |||||||
|         signals.pre_bulk_insert.disconnect(self.Author.pre_bulk_insert) |         signals.pre_bulk_insert.disconnect(self.Author.pre_bulk_insert) | ||||||
|         signals.post_bulk_insert.disconnect(self.Author.post_bulk_insert) |         signals.post_bulk_insert.disconnect(self.Author.post_bulk_insert) | ||||||
|  |  | ||||||
|  |         signals.post_delete.disconnect(self.Another.post_delete) | ||||||
|  |         signals.pre_delete.disconnect(self.Another.pre_delete) | ||||||
|  |  | ||||||
|         signals.post_save.disconnect(self.ExplicitId.post_save) |         signals.post_save.disconnect(self.ExplicitId.post_save) | ||||||
|  |  | ||||||
|         # Check that all our signals got disconnected properly. |         # Check that all our signals got disconnected properly. | ||||||
| @@ -216,7 +240,14 @@ class SignalTests(unittest.TestCase): | |||||||
|             "Not loaded", |             "Not loaded", | ||||||
|         ]) |         ]) | ||||||
|  |  | ||||||
|         self.Author.objects.delete() |     def test_queryset_delete_signals(self): | ||||||
|  |         """ Queryset delete should throw some signals. """ | ||||||
|  |  | ||||||
|  |         self.Another(name='Bill Shakespeare').save() | ||||||
|  |         self.assertEqual(self.get_signal_output(self.Another.objects.delete), [ | ||||||
|  |             'pre_delete signal, Bill Shakespeare', | ||||||
|  |             'post_delete signal, Bill Shakespeare', | ||||||
|  |         ]) | ||||||
|  |  | ||||||
|     def test_signals_with_explicit_doc_ids(self): |     def test_signals_with_explicit_doc_ids(self): | ||||||
|         """ Model saves must have a created flag the first time.""" |         """ Model saves must have a created flag the first time.""" | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user