Ejemplo n.º 1
0
 def test_student_pass_with_all_assignments_qualify(self):
     data_dict = self._build_data_set()
     collector = resultscollector.PeriodResultSetCollector(
         period=data_dict['testperiod'])
     qualifying_studentids = collector.get_relatedstudents_that_qualify_for_exam(
     )
     self.assertEquals(len(qualifying_studentids), 1)
     self.assertEquals(qualifying_studentids[0],
                       data_dict['relatedstudent'].id)
Ejemplo n.º 2
0
 def test_student_fails_with_all_assignments_qualify(self):
     data_dict = self._build_data_set()
     data_dict['testfeedbacksets'][0].grading_points = 0
     data_dict['testfeedbacksets'][0].save()
     collector = resultscollector.PeriodResultSetCollector(
         period=data_dict['testperiod'])
     qualifying_studentids = collector.get_relatedstudents_that_qualify_for_exam(
     )
     self.assertEquals(len(qualifying_studentids), 0)
Ejemplo n.º 3
0
    def test_one_students_pass_with_all_assignments_qualify(self):
        data_dict = self._build_data_set()

        # Create a new student and to the assignments
        assigngroup1 = mommy.make('core.AssignmentGroup',
                                  parentnode=data_dict['testassignments'][0])
        assigngroup2 = mommy.make('core.AssignmentGroup',
                                  parentnode=data_dict['testassignments'][1])
        assigngroup3 = mommy.make('core.AssignmentGroup',
                                  parentnode=data_dict['testassignments'][2])

        # Create FeedbackSets for student, with one FeedbackSet with a score of 0. Since all Assignments qualifies,
        # this student should not qualify for final exam.
        devilry_group_mommy_factories.feedbackset_first_attempt_published(
            group=assigngroup1, grading_points=0)
        devilry_group_mommy_factories.feedbackset_first_attempt_published(
            group=assigngroup2, grading_points=1)
        devilry_group_mommy_factories.feedbackset_first_attempt_published(
            group=assigngroup3, grading_points=1)

        # Create a student with user
        student_user = mommy.make(settings.AUTH_USER_MODEL,
                                  shortname='dewduc',
                                  fullname='Dewey Duck')
        relatedstudent = mommy.make('core.RelatedStudent',
                                    user=student_user,
                                    period=data_dict['testperiod'])

        # Create candidates with relatedstudents and assignmentgroups
        mommy.make('core.Candidate',
                   relatedstudent=relatedstudent,
                   assignment_group=assigngroup1)
        mommy.make('core.Candidate',
                   relatedstudent=relatedstudent,
                   assignment_group=assigngroup2)
        mommy.make('core.Candidate',
                   relatedstudent=relatedstudent,
                   assignment_group=assigngroup3)

        collector = resultscollector.PeriodResultSetCollector(
            period=data_dict['testperiod'])
        qualifying_studentids = collector.get_relatedstudents_that_qualify_for_exam(
        )
        self.assertEquals(len(qualifying_studentids), 1)
        self.assertTrue(relatedstudent.id not in qualifying_studentids)
        self.assertTrue(
            data_dict['relatedstudent'].id in qualifying_studentids)
Ejemplo n.º 4
0
    def test_student_pass_with_one_failed_assignment_not_qualifying(self):
        data_dict = self._build_data_set()

        # set FeedbackSet.grading_points on the Assignment that's NOT qualifying
        data_dict['testfeedbacksets'][2].grading_points = 0
        data_dict['testfeedbacksets'][2].save()
        collector = resultscollector.PeriodResultSetCollector(
            period=data_dict['testperiod'],
            qualifying_assignment_ids=[
                data_dict['testassignments'][0].id,
                data_dict['testassignments'][1].id,
            ])
        qualifying_studentids = collector.get_relatedstudents_that_qualify_for_exam(
        )
        self.assertEquals(len(qualifying_studentids), 1)
        self.assertEquals(qualifying_studentids[0],
                          data_dict['relatedstudent'].id)