view weblinks/tests/test_receivers.py @ 989:2908859c2fe4

Smilies now use relative links. This is for upcoming switch to SSL. Currently we do not need absolute URLs for smilies. If this changes we can add it later.
author Brian Neal <bgneal@gmail.com>
date Thu, 29 Oct 2015 20:54:34 -0500
parents 89e2d00d653c
children
line wrap: on
line source
"""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)