Add user_metadata to reflect if a user has purchased before.
REVO-20
This commit is contained in:
@@ -239,23 +239,25 @@ class TestFieldOverrideMongoPerformance(FieldOverridePerformanceTestCase):
|
||||
MODULESTORE = TEST_DATA_MONGO_MODULESTORE
|
||||
__test__ = True
|
||||
|
||||
# TODO: decrease query count as part of REVO-28
|
||||
QUERY_COUNT = 33
|
||||
TEST_DATA = {
|
||||
# (providers, course_width, enable_ccx, view_as_ccx): (
|
||||
# # of sql queries to default,
|
||||
# # of mongo queries,
|
||||
# )
|
||||
('no_overrides', 1, True, False): (31, 1),
|
||||
('no_overrides', 2, True, False): (31, 1),
|
||||
('no_overrides', 3, True, False): (31, 1),
|
||||
('ccx', 1, True, False): (31, 1),
|
||||
('ccx', 2, True, False): (31, 1),
|
||||
('ccx', 3, True, False): (31, 1),
|
||||
('no_overrides', 1, False, False): (31, 1),
|
||||
('no_overrides', 2, False, False): (31, 1),
|
||||
('no_overrides', 3, False, False): (31, 1),
|
||||
('ccx', 1, False, False): (31, 1),
|
||||
('ccx', 2, False, False): (31, 1),
|
||||
('ccx', 3, False, False): (31, 1),
|
||||
('no_overrides', 1, True, False): (QUERY_COUNT, 1),
|
||||
('no_overrides', 2, True, False): (QUERY_COUNT, 1),
|
||||
('no_overrides', 3, True, False): (QUERY_COUNT, 1),
|
||||
('ccx', 1, True, False): (QUERY_COUNT, 1),
|
||||
('ccx', 2, True, False): (QUERY_COUNT, 1),
|
||||
('ccx', 3, True, False): (QUERY_COUNT, 1),
|
||||
('no_overrides', 1, False, False): (QUERY_COUNT, 1),
|
||||
('no_overrides', 2, False, False): (QUERY_COUNT, 1),
|
||||
('no_overrides', 3, False, False): (QUERY_COUNT, 1),
|
||||
('ccx', 1, False, False): (QUERY_COUNT, 1),
|
||||
('ccx', 2, False, False): (QUERY_COUNT, 1),
|
||||
('ccx', 3, False, False): (QUERY_COUNT, 1),
|
||||
}
|
||||
|
||||
|
||||
@@ -266,20 +268,22 @@ class TestFieldOverrideSplitPerformance(FieldOverridePerformanceTestCase):
|
||||
MODULESTORE = TEST_DATA_SPLIT_MODULESTORE
|
||||
__test__ = True
|
||||
|
||||
# TODO: decrease query count as part of REVO-28
|
||||
QUERY_COUNT = 33
|
||||
TEST_DATA = {
|
||||
('no_overrides', 1, True, False): (31, 3),
|
||||
('no_overrides', 2, True, False): (31, 3),
|
||||
('no_overrides', 3, True, False): (31, 3),
|
||||
('ccx', 1, True, False): (31, 3),
|
||||
('ccx', 2, True, False): (31, 3),
|
||||
('ccx', 3, True, False): (31, 3),
|
||||
('ccx', 1, True, True): (32, 3),
|
||||
('ccx', 2, True, True): (32, 3),
|
||||
('ccx', 3, True, True): (32, 3),
|
||||
('no_overrides', 1, False, False): (31, 3),
|
||||
('no_overrides', 2, False, False): (31, 3),
|
||||
('no_overrides', 3, False, False): (31, 3),
|
||||
('ccx', 1, False, False): (31, 3),
|
||||
('ccx', 2, False, False): (31, 3),
|
||||
('ccx', 3, False, False): (31, 3),
|
||||
('no_overrides', 1, True, False): (QUERY_COUNT, 3),
|
||||
('no_overrides', 2, True, False): (QUERY_COUNT, 3),
|
||||
('no_overrides', 3, True, False): (QUERY_COUNT, 3),
|
||||
('ccx', 1, True, False): (QUERY_COUNT, 3),
|
||||
('ccx', 2, True, False): (QUERY_COUNT, 3),
|
||||
('ccx', 3, True, False): (QUERY_COUNT, 3),
|
||||
('ccx', 1, True, True): (34, 3),
|
||||
('ccx', 2, True, True): (34, 3),
|
||||
('ccx', 3, True, True): (34, 3),
|
||||
('no_overrides', 1, False, False): (QUERY_COUNT, 3),
|
||||
('no_overrides', 2, False, False): (QUERY_COUNT, 3),
|
||||
('no_overrides', 3, False, False): (QUERY_COUNT, 3),
|
||||
('ccx', 1, False, False): (QUERY_COUNT, 3),
|
||||
('ccx', 2, False, False): (QUERY_COUNT, 3),
|
||||
('ccx', 3, False, False): (QUERY_COUNT, 3),
|
||||
}
|
||||
|
||||
@@ -435,7 +435,9 @@ class SelfPacedCourseInfoTestCase(LoginEnrollmentTestCase, SharedModuleStoreTest
|
||||
self.assertEqual(resp.status_code, 200)
|
||||
|
||||
def test_num_queries_instructor_paced(self):
|
||||
self.fetch_course_info_with_queries(self.instructor_paced_course, 38, 3)
|
||||
# TODO: decrease query count as part of REVO-28
|
||||
self.fetch_course_info_with_queries(self.instructor_paced_course, 40, 3)
|
||||
|
||||
def test_num_queries_self_paced(self):
|
||||
self.fetch_course_info_with_queries(self.self_paced_course, 38, 3)
|
||||
# TODO: decrease query count as part of REVO-28
|
||||
self.fetch_course_info_with_queries(self.self_paced_course, 40, 3)
|
||||
|
||||
@@ -213,11 +213,12 @@ class IndexQueryTestCase(ModuleStoreTestCase):
|
||||
NUM_PROBLEMS = 20
|
||||
|
||||
@ddt.data(
|
||||
(ModuleStoreEnum.Type.mongo, 10, 169),
|
||||
(ModuleStoreEnum.Type.split, 4, 165),
|
||||
(ModuleStoreEnum.Type.mongo, 10, 171),
|
||||
(ModuleStoreEnum.Type.split, 4, 167),
|
||||
)
|
||||
@ddt.unpack
|
||||
def test_index_query_counts(self, store_type, expected_mongo_query_count, expected_mysql_query_count):
|
||||
# TODO: decrease query count as part of REVO-28
|
||||
ContentTypeGatingConfig.objects.create(enabled=True, enabled_as_of=datetime(2018, 1, 1))
|
||||
with self.store.default_store(store_type):
|
||||
course = CourseFactory.create()
|
||||
@@ -1439,12 +1440,13 @@ class ProgressPageTests(ProgressPageBaseTests):
|
||||
self.assertContains(resp, u"Download Your Certificate")
|
||||
|
||||
@ddt.data(
|
||||
(True, 51),
|
||||
(False, 50)
|
||||
(True, 53),
|
||||
(False, 52)
|
||||
)
|
||||
@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."""
|
||||
# TODO: decrease query count as part of REVO-28
|
||||
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):
|
||||
@@ -1452,8 +1454,8 @@ class ProgressPageTests(ProgressPageBaseTests):
|
||||
|
||||
@patch.dict(settings.FEATURES, {'ASSUME_ZERO_GRADE_IF_ABSENT_FOR_ALL_TESTS': False})
|
||||
@ddt.data(
|
||||
(False, 58, 38),
|
||||
(True, 50, 34)
|
||||
(False, 60, 40),
|
||||
(True, 52, 36)
|
||||
)
|
||||
@ddt.unpack
|
||||
def test_progress_queries(self, enable_waffle, initial, subsequent):
|
||||
|
||||
@@ -50,7 +50,15 @@ def get_experiment_user_metadata_context(course, user):
|
||||
enrollment_mode = None
|
||||
enrollment_time = None
|
||||
enrollment = None
|
||||
# TODO: clean up as part of REVO-28 (START)
|
||||
has_non_audit_enrollments = None
|
||||
# TODO: clean up as part of REVO-28 (END)
|
||||
try:
|
||||
# TODO: clean up as part of REVO-28 (START)
|
||||
user_enrollments = CourseEnrollment.objects.select_related('course').filter(user_id=user.id)
|
||||
audit_enrollments = user_enrollments.filter(mode='audit')
|
||||
has_non_audit_enrollments = (len(audit_enrollments) != len(user_enrollments))
|
||||
# TODO: clean up as part of REVO-28 (END)
|
||||
enrollment = CourseEnrollment.objects.select_related(
|
||||
'course'
|
||||
).get(user_id=user.id, course_id=course.id)
|
||||
@@ -83,4 +91,7 @@ def get_experiment_user_metadata_context(course, user):
|
||||
'has_staff_access': has_staff_access,
|
||||
'forum_roles': forum_roles,
|
||||
'partition_groups': user_partitions,
|
||||
# TODO: clean up as part of REVO-28 (START)
|
||||
'has_non_audit_enrollments': has_non_audit_enrollments,
|
||||
# TODO: clean up as part of REVO-28 (END)
|
||||
}
|
||||
|
||||
@@ -18,6 +18,9 @@ user_metadata = {
|
||||
'has_staff_access',
|
||||
'forum_roles',
|
||||
'partition_groups',
|
||||
# TODO: clean up as part of REVO-28 (START)
|
||||
'has_non_audit_enrollments',
|
||||
# TODO: clean up as part of REtest_VO-28 (END)
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -194,7 +194,8 @@ class TestCourseHomePage(CourseHomePageTestCase):
|
||||
course_home_url(self.course)
|
||||
|
||||
# Fetch the view and verify the query counts
|
||||
with self.assertNumQueries(76, table_blacklist=QUERY_COUNT_TABLE_BLACKLIST):
|
||||
# TODO: decrease query count as part of REVO-28
|
||||
with self.assertNumQueries(78, table_blacklist=QUERY_COUNT_TABLE_BLACKLIST):
|
||||
with check_mongo_calls(4):
|
||||
url = course_home_url(self.course)
|
||||
self.client.get(url)
|
||||
|
||||
@@ -129,7 +129,8 @@ class TestCourseUpdatesPage(SharedModuleStoreTestCase):
|
||||
course_updates_url(self.course)
|
||||
|
||||
# Fetch the view and verify that the query counts haven't changed
|
||||
with self.assertNumQueries(50, table_blacklist=QUERY_COUNT_TABLE_BLACKLIST):
|
||||
# TODO: decrease query count as part of REVO-28
|
||||
with self.assertNumQueries(52, table_blacklist=QUERY_COUNT_TABLE_BLACKLIST):
|
||||
with check_mongo_calls(4):
|
||||
url = course_updates_url(self.course)
|
||||
self.client.get(url)
|
||||
|
||||
Reference in New Issue
Block a user