def setUp(self): super(TestModelBase, self).setUp() self.saved_cb = amo_models._on_change_callbacks.copy() amo_models._on_change_callbacks.clear() self.cb = Mock() self.cb.__name__ = 'testing_mock_callback' Addon.on_change(self.cb)
def setUp(self): super(TestModelBase, self).setUp() self.saved_cb = amo_models._on_change_callbacks.copy() amo_models._on_change_callbacks.clear() self.cb = Mock() self.cb.__name__ = 'testing_mock_callback' Addon.on_change(self.cb)
def test_multiple_ignored(self): cb = Mock() cb.__name__ = 'something' old = len(amo_models._on_change_callbacks[Addon]) Addon.on_change(cb) assert len(amo_models._on_change_callbacks[Addon]) == old + 1 Addon.on_change(cb) assert len(amo_models._on_change_callbacks[Addon]) == old + 1
def test_multiple_ignored(self): cb = Mock() cb.__name__ = 'something' old = len(amo_models._on_change_callbacks[Addon]) Addon.on_change(cb) assert len(amo_models._on_change_callbacks[Addon]) == old + 1 Addon.on_change(cb) assert len(amo_models._on_change_callbacks[Addon]) == old + 1
def test_change_is_not_recursive(self): class fn: called = False def callback(old_attr=None, new_attr=None, instance=None, sender=None, **kw): fn.called = True # Both save and update should be protected: instance.update(site_specific=False) instance.save() Addon.on_change(callback) addon = Addon.objects.get(pk=3615) addon.save() assert fn.called
def test_change_is_not_recursive(self): class fn: called = False def callback(old_attr=None, new_attr=None, instance=None, sender=None, **kw): fn.called = True # Both save and update should be protected: instance.update(site_specific=False) instance.save() Addon.on_change(callback) addon = Addon.objects.get(pk=3615) addon.save() assert fn.called