def test_logging_for_save(self): with patch('lms.djangoapps.grades.models.log') as log_mock: PersistentSubsectionGrade.save_grade(**self.params) read_grade = PersistentSubsectionGrade.read_grade( user_id=self.params["user_id"], usage_key=self.params["usage_key"], ) log_mock.info.assert_called_with( u"Persistent Grades: Grade model saved: {0}".format(read_grade) )
def test_save(self, already_created): if already_created: PersistentSubsectionGrade.objects.create(**self.params) module_prefix = "lms.djangoapps.grades.models.PersistentSubsectionGrade." with patch(module_prefix + "objects.get_or_create", wraps=PersistentSubsectionGrade.objects.get_or_create ) as mock_get_or_create: with patch(module_prefix + "update") as mock_update: PersistentSubsectionGrade.save_grade(**self.params) self.assertTrue(mock_get_or_create.called) self.assertEqual(mock_update.called, already_created)
def test_save(self, already_created): if already_created: PersistentSubsectionGrade.objects.create(**self.params) module_prefix = "lms.djangoapps.grades.models.PersistentSubsectionGrade." with patch( module_prefix + "objects.get_or_create", wraps=PersistentSubsectionGrade.objects.get_or_create ) as mock_get_or_create: with patch(module_prefix + "update") as mock_update: PersistentSubsectionGrade.save_grade(**self.params) self.assertTrue(mock_get_or_create.called) self.assertEqual(mock_update.called, already_created)
def save(self, student, subsection, course): """ Persist the SubsectionGrade. """ visible_blocks = [ BlockRecord(location, weight, score.possible) for location, (score, weight) in self.locations_to_weighted_scores.iteritems() ] PersistentSubsectionGrade.save_grade( user_id=student.id, usage_key=self.location, course_version=getattr(course, 'course_version', None), subtree_edited_timestamp=subsection.subtree_edited_on, earned_all=self.all_total.earned, possible_all=self.all_total.possible, earned_graded=self.graded_total.earned, possible_graded=self.graded_total.possible, visible_blocks=visible_blocks, )