Switch ContentTypeGatingConfig.enabled_as_of and CourseDurationLimitConfig.enabled_as_of to datetimes

This commit is contained in:
Calen Pennington
2018-11-28 14:13:55 -05:00
parent af86f7856c
commit 31047260cc
20 changed files with 194 additions and 112 deletions

View File

@@ -3,7 +3,7 @@
Performance tests for field overrides.
"""
import itertools
from datetime import datetime, date
from datetime import datetime
import ddt
import mock
@@ -204,7 +204,7 @@ class FieldOverridePerformanceTestCase(FieldOverrideTestMixin, ProceduralCourseT
"""
ContentTypeGatingConfig.objects.create(
enabled=True,
enabled_as_of=date(2018, 1, 1),
enabled_as_of=datetime(2018, 1, 1),
)
providers = {

View File

@@ -828,7 +828,7 @@ class CourseOverviewAccessTestCase(ModuleStoreTestCase):
@ddt.unpack
@patch.dict('django.conf.settings.FEATURES', {'DISABLE_START_DATES': False})
def test_course_catalog_access_num_queries(self, user_attr_name, action, course_attr_name):
ContentTypeGatingConfig.objects.create(enabled=True, enabled_as_of=datetime.date(2018, 1, 1))
ContentTypeGatingConfig.objects.create(enabled=True, enabled_as_of=datetime.datetime(2018, 1, 1))
course = getattr(self, course_attr_name)

View File

@@ -2,7 +2,7 @@
"""
Test the course_info xblock
"""
from datetime import date
from datetime import datetime
import ddt
import mock
from django.conf import settings
@@ -418,7 +418,7 @@ class SelfPacedCourseInfoTestCase(LoginEnrollmentTestCase, SharedModuleStoreTest
def setUp(self):
super(SelfPacedCourseInfoTestCase, self).setUp()
ContentTypeGatingConfig.objects.create(enabled=True, enabled_as_of=date(2018, 1, 1))
ContentTypeGatingConfig.objects.create(enabled=True, enabled_as_of=datetime(2018, 1, 1))
self.setup_user()

View File

@@ -5,7 +5,7 @@ Tests courseware views.py
import itertools
import json
import unittest
from datetime import datetime, timedelta, date
from datetime import datetime, timedelta
from HTMLParser import HTMLParser
from urllib import quote, urlencode
from uuid import uuid4
@@ -218,7 +218,7 @@ class IndexQueryTestCase(ModuleStoreTestCase):
)
@ddt.unpack
def test_index_query_counts(self, store_type, expected_mongo_query_count, expected_mysql_query_count):
ContentTypeGatingConfig.objects.create(enabled=True, enabled_as_of=date(2018, 1, 1))
ContentTypeGatingConfig.objects.create(enabled=True, enabled_as_of=datetime(2018, 1, 1))
with self.store.default_store(store_type):
course = CourseFactory.create()
with self.store.bulk_operations(course.id):
@@ -1445,7 +1445,7 @@ class ProgressPageTests(ProgressPageBaseTests):
@ddt.unpack
def test_progress_queries_paced_courses(self, self_paced, query_count):
"""Test that query counts remain the same for self-paced and instructor-paced courses."""
ContentTypeGatingConfig.objects.create(enabled=True, enabled_as_of=date(2018, 1, 1))
ContentTypeGatingConfig.objects.create(enabled=True, enabled_as_of=datetime(2018, 1, 1))
self.setup_course(self_paced=self_paced)
with self.assertNumQueries(query_count, table_blacklist=QUERY_COUNT_TABLE_BLACKLIST), check_mongo_calls(1):
self._get_progress_page()
@@ -1457,7 +1457,7 @@ class ProgressPageTests(ProgressPageBaseTests):
)
@ddt.unpack
def test_progress_queries(self, enable_waffle, initial, subsequent):
ContentTypeGatingConfig.objects.create(enabled=True, enabled_as_of=date(2018, 1, 1))
ContentTypeGatingConfig.objects.create(enabled=True, enabled_as_of=datetime(2018, 1, 1))
self.setup_course()
with grades_waffle().override(ASSUME_ZERO_GRADE_IF_ABSENT, active=enable_waffle):
with self.assertNumQueries(
@@ -1668,7 +1668,7 @@ class ProgressPageTests(ProgressPageBaseTests):
Verify that expired banner message appears on progress page, if learner is enrolled
in audit mode.
"""
CourseDurationLimitConfig.objects.create(enabled=True, enabled_as_of=date(2018, 1, 1))
CourseDurationLimitConfig.objects.create(enabled=True, enabled_as_of=datetime(2018, 1, 1))
user = UserFactory.create()
self.assertTrue(self.client.login(username=user.username, password='test'))
add_course_mode(self.course, upgrade_deadline_expired=False)
@@ -2715,7 +2715,7 @@ class TestIndexViewWithCourseDurationLimits(ModuleStoreTestCase):
Test that the courseware contains the course expiration banner
when course_duration_limits are enabled.
"""
CourseDurationLimitConfig.objects.create(enabled=True, enabled_as_of=date(2018, 1, 1))
CourseDurationLimitConfig.objects.create(enabled=True, enabled_as_of=datetime(2018, 1, 1))
self.assertTrue(self.client.login(username=self.user.username, password='test'))
add_course_mode(self.course, upgrade_deadline_expired=False)
response = self.client.get(

View File

@@ -1,6 +1,6 @@
import json
import logging
from datetime import datetime, date
from datetime import datetime
import ddt
from django.urls import reverse
@@ -456,7 +456,7 @@ class SingleThreadQueryCountTestCase(ForumsEnableMixin, ModuleStoreTestCase):
num_cached_sql_queries,
mock_request
):
ContentTypeGatingConfig.objects.create(enabled=True, enabled_as_of=date(2018, 1, 1))
ContentTypeGatingConfig.objects.create(enabled=True, enabled_as_of=datetime(2018, 1, 1))
with modulestore().default_store(default_store):
course = CourseFactory.create(discussion_topics={'dummy discussion': {'id': 'dummy_discussion_id'}})

View File

@@ -299,7 +299,7 @@ class TestUserEnrollmentApi(UrlResetMixin, MobileAPITestCase, MobileAuthUserTest
Test that expired courses are only returned in v1 of API
when waffle flag enabled, and un-expired courses always returned
'''
CourseDurationLimitConfig.objects.create(enabled=True, enabled_as_of=datetime.date(2018, 1, 1))
CourseDurationLimitConfig.objects.create(enabled=True, enabled_as_of=datetime.datetime(2018, 1, 1))
courses = self._get_enrollment_data(api_version, expired)
self._assert_enrollment_results(api_version, courses, num_courses_returned)