Files
edx-platform/lms/djangoapps/courseware/tests/test_favicon.py
James Tauber 238b4a5df1 tests for PR 3769
Two out of three fail without PR 3769 but all pass with PR 3769.
2014-06-26 10:37:58 -04:00

58 lines
1.7 KiB
Python

from django.conf import settings
from django.core.urlresolvers import clear_url_caches, resolve
from django.test import TestCase
from django.test.utils import override_settings
from mock import patch
import sys
class FaviconTestCase(TestCase):
def setUp(self):
super(FaviconTestCase, self).setUp()
def test_favicon_redirect(self):
resp = self.client.get("/favicon.ico")
self.assertEqual(resp.status_code, 301)
self.assertRedirects(
resp,
"/static/images/favicon.ico",
status_code=301, target_status_code=404 # @@@ how to avoid 404?
)
@override_settings(FAVICON_PATH="images/foo.ico")
def test_favicon_redirect_with_favicon_path_setting(self):
# for some reason I had to put this inline rather than just using
# the UrlResetMixin
urlconf = settings.ROOT_URLCONF
if urlconf in sys.modules:
reload(sys.modules[urlconf])
clear_url_caches()
resolve("/")
resp = self.client.get("/favicon.ico")
self.assertEqual(resp.status_code, 301)
self.assertRedirects(
resp,
"/static/images/foo.ico",
status_code=301, target_status_code=404 # @@@ how to avoid 404?
)
@patch.dict("django.conf.settings.FEATURES", {"USE_CUSTOM_THEME": True})
@override_settings(THEME_NAME="bar")
def test_favicon_redirect_with_theme(self):
self.assertEqual(settings.FEATURES["USE_CUSTOM_THEME"], True)
resp = self.client.get("/favicon.ico")
self.assertEqual(resp.status_code, 301)
self.assertRedirects(
resp,
"/static/images/foo.ico",
status_code=301, target_status_code=404 # @@@ how to avoid 404?
)