diff options
author | Hugo Cachitas <hcachitas@gmail.com> | 2021-03-31 10:55:37 +0200 |
---|---|---|
committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2021-03-31 11:01:48 +0200 |
commit | f83214a3e15ccadc9e2370dd157ed19bcdb07e2c (patch) | |
tree | 63316df4a3ed8429478711e613893639680ec664 /tests/signals | |
parent | d915dd1c5809d7c2bb3679751cd5277571dcd9f7 (diff) | |
download | django-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.py | 25 |
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): |