Commit f1ad94bd by Nimisha Asthagiri Committed by GitHub

Merge pull request #13839 from edx/beryl/read-only-grades

Update CourseGradeFactory.create to be read_only by default
parents 7e1a528d 4a20370f
...@@ -229,18 +229,18 @@ class TestFieldOverrideMongoPerformance(FieldOverridePerformanceTestCase): ...@@ -229,18 +229,18 @@ class TestFieldOverrideMongoPerformance(FieldOverridePerformanceTestCase):
# # of sql queries to default, # # of sql queries to default,
# # of mongo queries, # # of mongo queries,
# ) # )
('no_overrides', 1, True, False): (22, 6), ('no_overrides', 1, True, False): (17, 6),
('no_overrides', 2, True, False): (22, 6), ('no_overrides', 2, True, False): (17, 6),
('no_overrides', 3, True, False): (22, 6), ('no_overrides', 3, True, False): (17, 6),
('ccx', 1, True, False): (22, 6), ('ccx', 1, True, False): (17, 6),
('ccx', 2, True, False): (22, 6), ('ccx', 2, True, False): (17, 6),
('ccx', 3, True, False): (22, 6), ('ccx', 3, True, False): (17, 6),
('no_overrides', 1, False, False): (22, 6), ('no_overrides', 1, False, False): (17, 6),
('no_overrides', 2, False, False): (22, 6), ('no_overrides', 2, False, False): (17, 6),
('no_overrides', 3, False, False): (22, 6), ('no_overrides', 3, False, False): (17, 6),
('ccx', 1, False, False): (22, 6), ('ccx', 1, False, False): (17, 6),
('ccx', 2, False, False): (22, 6), ('ccx', 2, False, False): (17, 6),
('ccx', 3, False, False): (22, 6), ('ccx', 3, False, False): (17, 6),
} }
...@@ -252,19 +252,19 @@ class TestFieldOverrideSplitPerformance(FieldOverridePerformanceTestCase): ...@@ -252,19 +252,19 @@ class TestFieldOverrideSplitPerformance(FieldOverridePerformanceTestCase):
__test__ = True __test__ = True
TEST_DATA = { TEST_DATA = {
('no_overrides', 1, True, False): (22, 3), ('no_overrides', 1, True, False): (17, 3),
('no_overrides', 2, True, False): (22, 3), ('no_overrides', 2, True, False): (17, 3),
('no_overrides', 3, True, False): (22, 3), ('no_overrides', 3, True, False): (17, 3),
('ccx', 1, True, False): (22, 3), ('ccx', 1, True, False): (17, 3),
('ccx', 2, True, False): (22, 3), ('ccx', 2, True, False): (17, 3),
('ccx', 3, True, False): (22, 3), ('ccx', 3, True, False): (17, 3),
('ccx', 1, True, True): (23, 3), ('ccx', 1, True, True): (18, 3),
('ccx', 2, True, True): (23, 3), ('ccx', 2, True, True): (18, 3),
('ccx', 3, True, True): (23, 3), ('ccx', 3, True, True): (18, 3),
('no_overrides', 1, False, False): (22, 3), ('no_overrides', 1, False, False): (17, 3),
('no_overrides', 2, False, False): (22, 3), ('no_overrides', 2, False, False): (17, 3),
('no_overrides', 3, False, False): (22, 3), ('no_overrides', 3, False, False): (17, 3),
('ccx', 1, False, False): (22, 3), ('ccx', 1, False, False): (17, 3),
('ccx', 2, False, False): (22, 3), ('ccx', 2, False, False): (17, 3),
('ccx', 3, False, False): (22, 3), ('ccx', 3, False, False): (17, 3),
} }
...@@ -1345,17 +1345,17 @@ class ProgressPageTests(ModuleStoreTestCase): ...@@ -1345,17 +1345,17 @@ class ProgressPageTests(ModuleStoreTestCase):
"""Test that query counts remain the same for self-paced and instructor-paced courses.""" """Test that query counts remain the same for self-paced and instructor-paced courses."""
SelfPacedConfiguration(enabled=self_paced_enabled).save() SelfPacedConfiguration(enabled=self_paced_enabled).save()
self.setup_course(self_paced=self_paced) self.setup_course(self_paced=self_paced)
with self.assertNumQueries(39), check_mongo_calls(4): with self.assertNumQueries(34), check_mongo_calls(4):
self._get_progress_page() self._get_progress_page()
def test_progress_queries(self): def test_progress_queries(self):
self.setup_course() self.setup_course()
with self.assertNumQueries(39), check_mongo_calls(4): with self.assertNumQueries(34), check_mongo_calls(4):
self._get_progress_page() self._get_progress_page()
# subsequent accesses to the progress page require fewer queries. # subsequent accesses to the progress page require fewer queries.
for _ in range(2): for _ in range(2):
with self.assertNumQueries(22), check_mongo_calls(4): with self.assertNumQueries(20), check_mongo_calls(4):
self._get_progress_page() self._get_progress_page()
@patch( @patch(
......
...@@ -719,7 +719,7 @@ def _progress(request, course_key, student_id): ...@@ -719,7 +719,7 @@ def _progress(request, course_key, student_id):
# additional DB lookup (this kills the Progress page in particular). # additional DB lookup (this kills the Progress page in particular).
student = User.objects.prefetch_related("groups").get(id=student.id) student = User.objects.prefetch_related("groups").get(id=student.id)
course_grade = CourseGradeFactory(student).create(course, read_only=False) course_grade = CourseGradeFactory(student).create(course)
if not course_grade.has_access_to_course: if not course_grade.has_access_to_course:
# This means the student didn't have access to the course (which the instructor requested) # This means the student didn't have access to the course (which the instructor requested)
raise Http404 raise Http404
......
...@@ -248,7 +248,7 @@ class CourseGradeFactory(object): ...@@ -248,7 +248,7 @@ class CourseGradeFactory(object):
def __init__(self, student): def __init__(self, student):
self.student = student self.student = student
def create(self, course, read_only=False): def create(self, course, read_only=True):
""" """
Returns the CourseGrade object for the given student and course. Returns the CourseGrade object for the given student and course.
......
...@@ -546,7 +546,7 @@ class TestCourseGradeLogging(SharedModuleStoreTestCase): ...@@ -546,7 +546,7 @@ class TestCourseGradeLogging(SharedModuleStoreTestCase):
Creates a course grade and asserts that the associated logging Creates a course grade and asserts that the associated logging
matches the expected totals passed in to the function. matches the expected totals passed in to the function.
""" """
factory.create(self.course) factory.create(self.course, read_only=False)
log_statement = u''.join(( log_statement = u''.join((
u"compute_and_update, read_only: {0}, subsections read/created: {1}/{2}, blocks ", u"compute_and_update, read_only: {0}, subsections read/created: {1}/{2}, blocks ",
u"accessed: {3}, total graded subsections: {4}" u"accessed: {3}, total graded subsections: {4}"
......
...@@ -1674,7 +1674,7 @@ class TestCertificateGeneration(InstructorTaskModuleTestCase): ...@@ -1674,7 +1674,7 @@ class TestCertificateGeneration(InstructorTaskModuleTestCase):
'failed': 3, 'failed': 3,
'skipped': 2 'skipped': 2
} }
with self.assertNumQueries(191): with self.assertNumQueries(158):
self.assertCertificatesGenerated(task_input, expected_results) self.assertCertificatesGenerated(task_input, expected_results)
expected_results = { expected_results = {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment