summaryrefslogtreecommitdiff
path: root/tests/signals
diff options
context:
space:
mode:
authorHugo Cachitas <hcachitas@gmail.com>2021-03-31 10:55:37 +0200
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2021-03-31 11:01:48 +0200
commitf83214a3e15ccadc9e2370dd157ed19bcdb07e2c (patch)
tree63316df4a3ed8429478711e613893639680ec664 /tests/signals
parentd915dd1c5809d7c2bb3679751cd5277571dcd9f7 (diff)
downloaddjango-f83214a3e15ccadc9e2370dd157ed19bcdb07e2c.tar.gz
Refs #32594 -- Added Signal.disconnect() test with a model class.
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
Diffstat (limited to 'tests/signals')
-rw-r--r--tests/signals/tests.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/signals/tests.py b/tests/signals/tests.py
index e0a24ccc6e..ee4661c93f 100644
--- a/tests/signals/tests.py
+++ b/tests/signals/tests.py
@@ -280,6 +280,31 @@ class SignalTests(BaseSignalSetup, TestCase):
signals.pre_init.disconnect(callback)
ref.assert_not_called()
+ @isolate_apps('signals', kwarg_name='apps')
+ def test_disconnect_model(self, apps):
+ received = []
+
+ def receiver(**kwargs):
+ received.append(kwargs)
+
+ class Created(models.Model):
+ pass
+
+ signals.post_init.connect(receiver, sender=Created, apps=apps)
+ try:
+ self.assertIs(
+ signals.post_init.disconnect(receiver, sender=Created, apps=apps),
+ True,
+ )
+ self.assertIs(
+ signals.post_init.disconnect(receiver, sender=Created, apps=apps),
+ False,
+ )
+ Created()
+ self.assertEqual(received, [])
+ finally:
+ signals.post_init.disconnect(receiver, sender=Created)
+
class LazyModelRefTests(BaseSignalSetup, SimpleTestCase):
def setUp(self):