Example #1
0
 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]))
Example #2
0
    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
        })