# HG changeset patch # User Brian Neal # Date 1430074743 18000 # Node ID 89e2d00d653c1ed4b3365c76397aec46b2b8bce8 # Parent 8b48ec450497c5f5680506cb0e621b5244e4fb6c Add tests for weblinks signal handlers. diff -r 8b48ec450497 -r 89e2d00d653c weblinks/tests/test_receivers.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/weblinks/tests/test_receivers.py Sun Apr 26 13:59:03 2015 -0500 @@ -0,0 +1,51 @@ +"""Tests for the weblink app signal handlers.""" + +from django.contrib.auth.models import User +from django.test import TestCase + +import custom_search.receivers + +from weblinks.models import Category +from weblinks.models import Link + + +class ReceiverTestCase(TestCase): + + fixtures = ['weblinks_categories.json'] + + def setUp(self): + self.user = User.objects.create_user('user', 'user@example.com', 'pw') + + # Don't let our custom search signal handler class catch any of the + # signals we are throwing here. + custom_search.receivers.signal_processor.teardown() + + def tearDown(self): + custom_search.receivers.signal_processor.setup() + + def test_signal_handlers(self): + + category = Category.objects.get(pk=1) + link = Link(category=category, + title='Title', + url='http://example.com/', + description='Cool stuff', + is_public=True, + user=self.user) + link.save() + + category = Category.objects.get(pk=1) + self.assertEqual(1, category.count) + + category2 = Category.objects.get(pk=4) + link.category = category2 + link.save() + + category = Category.objects.get(pk=1) + self.assertEqual(0, category.count) + category2 = Category.objects.get(pk=4) + self.assertEqual(1, category2.count) + + link.delete() + category2 = Category.objects.get(pk=4) + self.assertEqual(0, category2.count)