def test_save_settings(self): status = Status(period=self.period, status='ready', message='', user=self.testhelper.periodadmin, plugin='devilry_qualifiesforexam_points' ) status.save() self.assertEqual(PointsPluginSetting.objects.count(), 0) post_statussave(status, { 'assignmentids': [self.testhelper.sub_p1_a1.id, self.testhelper.sub_p1_a2.id], 'minimum_points': 3 }) self.assertEqual(PointsPluginSetting.objects.count(), 1) settings = status.devilry_qualifiesforexam_points_pointspluginsetting self.assertEqual(settings.minimum_points, 3) self.assertEqual(settings.pointspluginselectedassignment_set.count(), 2) ids = set([selected.assignment.id for selected in settings.pointspluginselectedassignment_set.all()]) self.assertEqual(ids, set([self.testhelper.sub_p1_a1.id, self.testhelper.sub_p1_a2.id]))
def test_verify(self): status = Status(period=self.period, status='ready', message='', user=self.testhelper.periodadmin, plugin='devilry_qualifiesforexam_points' ) status.save() relatedStudent1 = self.create_relatedstudent('student1') status.students.create(relatedstudent=relatedStudent1, qualifies=True) self.create_feedbacks( (self.testhelper.sub_p1_a1_gstudent1, {'grade': 'F', 'points': 2, 'is_passing_grade': False}) ) with self.assertRaises(PluginResultsFailedVerification): post_statussave(status, { 'assignmentids': [self.testhelper.sub_p1_a1.id], 'minimum_points': 3 }) post_statussave(status, { 'assignmentids': [self.testhelper.sub_p1_a1.id], 'minimum_points': 2 })