Merge pull request #13839 from edx/beryl/read-only-grades
Update CourseGradeFactory.create to be read_only by default
This commit is contained in:
@@ -229,18 +229,18 @@ class TestFieldOverrideMongoPerformance(FieldOverridePerformanceTestCase):
|
||||
# # of sql queries to default,
|
||||
# # of mongo queries,
|
||||
# )
|
||||
('no_overrides', 1, True, False): (22, 6),
|
||||
('no_overrides', 2, True, False): (22, 6),
|
||||
('no_overrides', 3, True, False): (22, 6),
|
||||
('ccx', 1, True, False): (22, 6),
|
||||
('ccx', 2, True, False): (22, 6),
|
||||
('ccx', 3, True, False): (22, 6),
|
||||
('no_overrides', 1, False, False): (22, 6),
|
||||
('no_overrides', 2, False, False): (22, 6),
|
||||
('no_overrides', 3, False, False): (22, 6),
|
||||
('ccx', 1, False, False): (22, 6),
|
||||
('ccx', 2, False, False): (22, 6),
|
||||
('ccx', 3, False, False): (22, 6),
|
||||
('no_overrides', 1, True, False): (17, 6),
|
||||
('no_overrides', 2, True, False): (17, 6),
|
||||
('no_overrides', 3, True, False): (17, 6),
|
||||
('ccx', 1, True, False): (17, 6),
|
||||
('ccx', 2, True, False): (17, 6),
|
||||
('ccx', 3, True, False): (17, 6),
|
||||
('no_overrides', 1, False, False): (17, 6),
|
||||
('no_overrides', 2, False, False): (17, 6),
|
||||
('no_overrides', 3, False, False): (17, 6),
|
||||
('ccx', 1, False, False): (17, 6),
|
||||
('ccx', 2, False, False): (17, 6),
|
||||
('ccx', 3, False, False): (17, 6),
|
||||
}
|
||||
|
||||
|
||||
@@ -252,19 +252,19 @@ class TestFieldOverrideSplitPerformance(FieldOverridePerformanceTestCase):
|
||||
__test__ = True
|
||||
|
||||
TEST_DATA = {
|
||||
('no_overrides', 1, True, False): (22, 3),
|
||||
('no_overrides', 2, True, False): (22, 3),
|
||||
('no_overrides', 3, True, False): (22, 3),
|
||||
('ccx', 1, True, False): (22, 3),
|
||||
('ccx', 2, True, False): (22, 3),
|
||||
('ccx', 3, True, False): (22, 3),
|
||||
('ccx', 1, True, True): (23, 3),
|
||||
('ccx', 2, True, True): (23, 3),
|
||||
('ccx', 3, True, True): (23, 3),
|
||||
('no_overrides', 1, False, False): (22, 3),
|
||||
('no_overrides', 2, False, False): (22, 3),
|
||||
('no_overrides', 3, False, False): (22, 3),
|
||||
('ccx', 1, False, False): (22, 3),
|
||||
('ccx', 2, False, False): (22, 3),
|
||||
('ccx', 3, False, False): (22, 3),
|
||||
('no_overrides', 1, True, False): (17, 3),
|
||||
('no_overrides', 2, True, False): (17, 3),
|
||||
('no_overrides', 3, True, False): (17, 3),
|
||||
('ccx', 1, True, False): (17, 3),
|
||||
('ccx', 2, True, False): (17, 3),
|
||||
('ccx', 3, True, False): (17, 3),
|
||||
('ccx', 1, True, True): (18, 3),
|
||||
('ccx', 2, True, True): (18, 3),
|
||||
('ccx', 3, True, True): (18, 3),
|
||||
('no_overrides', 1, False, False): (17, 3),
|
||||
('no_overrides', 2, False, False): (17, 3),
|
||||
('no_overrides', 3, False, False): (17, 3),
|
||||
('ccx', 1, False, False): (17, 3),
|
||||
('ccx', 2, False, False): (17, 3),
|
||||
('ccx', 3, False, False): (17, 3),
|
||||
}
|
||||
|
||||
@@ -1345,17 +1345,17 @@ class ProgressPageTests(ModuleStoreTestCase):
|
||||
"""Test that query counts remain the same for self-paced and instructor-paced courses."""
|
||||
SelfPacedConfiguration(enabled=self_paced_enabled).save()
|
||||
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()
|
||||
|
||||
def test_progress_queries(self):
|
||||
self.setup_course()
|
||||
with self.assertNumQueries(39), check_mongo_calls(4):
|
||||
with self.assertNumQueries(34), check_mongo_calls(4):
|
||||
self._get_progress_page()
|
||||
|
||||
# subsequent accesses to the progress page require fewer queries.
|
||||
for _ in range(2):
|
||||
with self.assertNumQueries(22), check_mongo_calls(4):
|
||||
with self.assertNumQueries(20), check_mongo_calls(4):
|
||||
self._get_progress_page()
|
||||
|
||||
@patch(
|
||||
|
||||
@@ -719,7 +719,7 @@ def _progress(request, course_key, student_id):
|
||||
# additional DB lookup (this kills the Progress page in particular).
|
||||
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:
|
||||
# This means the student didn't have access to the course (which the instructor requested)
|
||||
raise Http404
|
||||
|
||||
@@ -248,7 +248,7 @@ class CourseGradeFactory(object):
|
||||
def __init__(self, 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.
|
||||
|
||||
|
||||
@@ -546,7 +546,7 @@ class TestCourseGradeLogging(SharedModuleStoreTestCase):
|
||||
Creates a course grade and asserts that the associated logging
|
||||
matches the expected totals passed in to the function.
|
||||
"""
|
||||
factory.create(self.course)
|
||||
factory.create(self.course, read_only=False)
|
||||
log_statement = u''.join((
|
||||
u"compute_and_update, read_only: {0}, subsections read/created: {1}/{2}, blocks ",
|
||||
u"accessed: {3}, total graded subsections: {4}"
|
||||
|
||||
@@ -1674,7 +1674,7 @@ class TestCertificateGeneration(InstructorTaskModuleTestCase):
|
||||
'failed': 3,
|
||||
'skipped': 2
|
||||
}
|
||||
with self.assertNumQueries(191):
|
||||
with self.assertNumQueries(158):
|
||||
self.assertCertificatesGenerated(task_input, expected_results)
|
||||
|
||||
expected_results = {
|
||||
|
||||
Reference in New Issue
Block a user