예제 #1
0
 def test_callback_not_called_on_reverse_add_without_watch(self):
     new_instance = TagFactory()
     add_instance = ArticleFactory()
     new_instance.content_object = add_instance
     new_instance.save()
     # have not watched, thus callback should not be called
     self.assertFalse(self.callback.called)
예제 #2
0
 def test_callback_not_called_on_reverse_add_without_watch(self):
     new_instance = TagFactory()
     add_instance = ArticleFactory()
     new_instance.content_object = add_instance
     new_instance.save()
     # have not watched, thus callback should not be called
     self.assertFalse(self.callback.called)
예제 #3
0
 def test_callback_called_on_modification_with_watch(self):
     new_instance = TagFactory()
     self.watcher.watch()
     new_instance.content_object = ArticleFactory()
     new_instance.save()
     # callback should be called with instance modification
     self.callback.assert_called_once_with(
         obj=new_instance, attr=self.attr, sender=self.watcher)
예제 #4
0
 def test_callback_called_on_modification_with_watch(self):
     new_instance = TagFactory()
     self.watcher.watch()
     new_instance.content_object = ArticleFactory()
     new_instance.save()
     # callback should be called with instance modification
     self.callback.assert_called_once_with(obj=new_instance,
                                           attr=self.attr,
                                           sender=self.watcher)
예제 #5
0
 def setUp(self):
     self.tags = (
         TagFactory(),
         TagFactory(),
         TagFactory(),
         TagFactory(),
         TagFactory(),
     )
     self.model = Article
     self.attr = 'tags'
     self.callback = MagicMock()
     self.watcher = GenericRelatedWatcher(self.model, self.attr,
                                          self.callback)
     self.addCleanup(self.watcher.unwatch)
예제 #6
0
 def test_callback_not_called_on_related_modification_without_watch(self):
     new_instance = TagFactory(content_object=UserFactory())
     user = new_instance.content_object
     user.label = 'modified'
     user.save()
     # have not watched, thus callback should not be called
     self.assertFalse(self.callback.called)
예제 #7
0
 def test_callback_called_on_create_with_watch(self):
     self.watcher.watch()
     new_instance = TagFactory()
     # callback should be called with newly created instance
     self.callback.assert_called_once_with(obj=new_instance,
                                           attr=self.attr,
                                           sender=self.watcher)
예제 #8
0
 def test_callback_called_on_add_with_watch(self):
     new_instance = ArticleFactory(tags=self.tags)
     self.watcher.watch()
     new_instance.tags.add(TagFactory())
     # callback should be called with instance modification
     self.callback.assert_called_once_with(obj=new_instance,
                                           attr=self.attr,
                                           sender=self.watcher)
예제 #9
0
 def test_callback_called_on_related_modification_with_watch(self):
     new_instance = TagFactory(content_object=UserFactory())
     user = new_instance.content_object
     user.label = 'modified'
     user.save()
     # callback should be called with instance modification
     self.callback.assert_called_once_with(obj=new_instance,
                                           attr=self.attr,
                                           sender=self.watcher)
예제 #10
0
 def test_callback_not_called_on_modification_with_non_interest_attr(self):
     new_instance = TagFactory()
     new_instance.label = 'modified'
     new_instance.save()
     # content is not watched thus callback should not be called
     self.assertFalse(self.callback.called)
예제 #11
0
 def test_callback_not_called_on_modification_with_non_interest_attr(self):
     new_instance = TagFactory()
     new_instance.label = 'modified'
     new_instance.save()
     # content is not watched thus callback should not be called
     self.assertFalse(self.callback.called)
예제 #12
0
 def test_callback_not_called_on_create_without_call_on_created(self):
     self.watcher.watch(call_on_created=False)
     TagFactory()
     # have not watched, thus callback should not be called
     self.assertFalse(self.callback.called)
예제 #13
0
 def test_callback_not_called_on_add_without_watch(self):
     new_instance = ArticleFactory(tags=self.tags)
     new_instance.tags.add(TagFactory())
     # have not watched, thus callback should not be called
     self.assertFalse(self.callback.called)