def test_unregister_reciever_call_disconnect(self): """should call disconnect to disconnect signal and receiver""" unregister_reciever(self.model, self.signal, self.receiver) # signal.connect should be called with receiver and model self.signal.disconnect.assert_called_with( self.receiver)
def test_unregister_reciever_call_disconnect_once(self): """should call disconnect only once to prevent the exception""" for i in range(5): unregister_reciever(self.model, self.signal, self.receiver) # signal.connect should be called once self.signal.disconnect.assert_called_once_with( self.receiver)
def test_unregister_reciever_call_connect_of_individual_receivers(self): """should call connect when receivers are different""" receivers = [MagicMock() for i in range(5)] for receiver in receivers: register_reciever(self.model, self.signal, receiver) for receiver in receivers: unregister_reciever(self.model, self.signal, receiver) self.signal.disconnect.assert_called_with(receiver) # called multiple times self.assertEqual(self.signal.disconnect.call_count, 5)
def test_unregister_reciever_return_false_for_2nd(self): """should return False for the 2nd and further call""" unregister_reciever(self.model, self.signal, self.receiver) # 2nd call r = unregister_reciever(self.model, self.signal, self.receiver) self.assertFalse(r) # 3rd call r = unregister_reciever(self.model, self.signal, self.receiver) self.assertFalse(r)
def test_unregister_reciever_call_disconnect_of_individual_signals(self): """should call connect when signals are different""" prop = { 'connect.return_value': None, 'disconnect.return_value': None, } signals = [MagicMock(wraps=Signal, **prop) for i in range(5)] for signal in signals: register_reciever(self.model, signal, self.receiver) for signal in signals: unregister_reciever(self.model, signal, self.receiver) signal.disconnect.assert_called_once_with(self.receiver)
def unwatch(self): # unregister the receivers unregister_reciever(self.model, pre_save, self._pre_save_receiver) unregister_reciever(self.model, post_save, self._post_save_receiver) unregister_reciever(self.model, post_save, self._post_save_receiver_for_creation)
def unwatch(self): unregister_reciever(self.model, pre_save, self._pre_save_receiver) unregister_reciever(self.model, post_save, self._post_save_receiver)
def unwatch(self): super(ManyRelatedWatcher, self).unwatch() if self.through_model: unregister_reciever(self.model, m2m_changed, self._m2m_changed_receiver)
def test_unregister_reciever_return_true_for_1st(self): """should return True for the 1st call""" r = unregister_reciever(self.model, self.signal, self.receiver) self.assertTrue(r)