52 lines
2.2 KiB
Python
52 lines
2.2 KiB
Python
"""
|
|
Tests for branding page
|
|
"""
|
|
import datetime
|
|
from pytz import UTC
|
|
from django.conf import settings
|
|
from django.test.utils import override_settings
|
|
from django.test.client import RequestFactory
|
|
from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
|
|
from xmodule.modulestore.django import editable_modulestore
|
|
from xmodule.modulestore.tests.factories import CourseFactory
|
|
from courseware.tests.tests import TEST_DATA_MONGO_MODULESTORE
|
|
import student.views
|
|
|
|
MITX_FEATURES_WITH_STARTDATE = settings.MITX_FEATURES.copy()
|
|
MITX_FEATURES_WITH_STARTDATE['DISABLE_START_DATES'] = False
|
|
MITX_FEATURES_WO_STARTDATE = settings.MITX_FEATURES.copy()
|
|
MITX_FEATURES_WO_STARTDATE['DISABLE_START_DATES'] = True
|
|
|
|
|
|
@override_settings(MODULESTORE=TEST_DATA_MONGO_MODULESTORE)
|
|
class AnonymousIndexPageTest(ModuleStoreTestCase):
|
|
"""
|
|
Tests that anonymous users can access the '/' page, Need courses with start date
|
|
"""
|
|
def setUp(self):
|
|
self.store = editable_modulestore()
|
|
self.factory = RequestFactory()
|
|
self.course = CourseFactory.create()
|
|
self.course.days_early_for_beta = 5
|
|
self.course.enrollment_start = datetime.datetime.now(UTC) + datetime.timedelta(days=3)
|
|
self.store.save_xmodule(self.course)
|
|
|
|
@override_settings(MITX_FEATURES=MITX_FEATURES_WITH_STARTDATE)
|
|
def test_none_user_index_access_with_startdate_fails(self):
|
|
"""
|
|
This was a "before" test for a bugfix. If someone fixes the bug another way in the future
|
|
and this test begins failing (but the other two pass), then feel free to delete this test.
|
|
"""
|
|
with self.assertRaisesRegexp(AttributeError, "'NoneType' object has no attribute 'is_authenticated'"):
|
|
student.views.index(self.factory.get('/'), user=None) # pylint: disable=E1101
|
|
|
|
@override_settings(MITX_FEATURES=MITX_FEATURES_WITH_STARTDATE)
|
|
def test_anon_user_with_startdate_index(self):
|
|
response = self.client.get('/')
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
@override_settings(MITX_FEATURES=MITX_FEATURES_WO_STARTDATE)
|
|
def test_anon_user_no_startdate_index(self):
|
|
response = self.client.get('/')
|
|
self.assertEqual(response.status_code, 200)
|