Create a mixin class that can be used for tests that customize urls.py to force django to reload it, so that they don't break other tests.
27 lines
1.1 KiB
Python
27 lines
1.1 KiB
Python
from django.test import TestCase
|
|
from django.test.utils import override_settings
|
|
from django.core.urlresolvers import reverse
|
|
from mitxmako.shortcuts import marketing_link
|
|
from mock import patch
|
|
from util.testing import UrlResetMixin
|
|
|
|
|
|
class ShortcutsTests(UrlResetMixin, TestCase):
|
|
"""
|
|
Test the mitxmako shortcuts file
|
|
"""
|
|
@override_settings(MKTG_URLS={'ROOT': 'dummy-root', 'ABOUT': '/about-us'})
|
|
@override_settings(MKTG_URL_LINK_MAP={'ABOUT': 'login'})
|
|
def test_marketing_link(self):
|
|
# test marketing site on
|
|
with patch.dict('django.conf.settings.MITX_FEATURES', {'ENABLE_MKTG_SITE': True}):
|
|
expected_link = 'dummy-root/about-us'
|
|
link = marketing_link('ABOUT')
|
|
self.assertEquals(link, expected_link)
|
|
# test marketing site off
|
|
with patch.dict('django.conf.settings.MITX_FEATURES', {'ENABLE_MKTG_SITE': False}):
|
|
# we are using login because it is common across both cms and lms
|
|
expected_link = reverse('login')
|
|
link = marketing_link('ABOUT')
|
|
self.assertEquals(link, expected_link)
|