Beispiel #1
0
 def setUp(self):
     self.examiner1 = UserBuilder('examiner1').user
     self.examiner2 = UserBuilder('examiner2').user
     self.student1 = UserBuilder('student1', full_name="Student One").user
     self.duck1010builder = SubjectBuilder.quickadd_ducku_duck1010()
     self.week1builder = self.duck1010builder.add_6month_active_period()\
         .add_assignment('week1', long_name='Week 1')
Beispiel #2
0
    def test_filter_examiner_has_access(self):
        otherexaminer = UserBuilder('otherexaminer').user
        duck1010builder = SubjectBuilder.quickadd_ducku_duck1010()
        activeassignmentbuilder = duck1010builder.add_6month_active_period().add_assignment('week1')
        activedelivery = activeassignmentbuilder\
            .add_group(examiners=[self.examiner1])\
            .add_deadline_in_x_weeks(weeks=1)\
            .add_delivery_x_hours_before_deadline(hours=1).delivery

        # Add deliveries on inactive assignments and on a group with another examiner to make sure we get no false positives
        duck1010builder.add_6month_lastyear_period()\
            .add_assignment('week1')\
            .add_group(examiners=[self.examiner1])\
            .add_deadline_in_x_weeks(weeks=1)\
            .add_delivery_x_hours_before_deadline(hours=1)
        duck1010builder.add_6month_nextyear_period()\
            .add_assignment('week1')\
            .add_group(examiners=[self.examiner1])\
            .add_deadline_in_x_weeks(weeks=1)\
            .add_delivery_x_hours_before_deadline(hours=1)
        activeassignmentbuilder\
            .add_group(examiners=[otherexaminer])\
            .add_deadline_in_x_weeks(weeks=1)\
            .add_delivery_x_hours_before_deadline(hours=1)

        qry = Delivery.objects.filter_examiner_has_access(self.examiner1)
        self.assertEquals(qry.count(), 1)
        self.assertEquals(qry[0], activedelivery)

        # make sure we are not getting false positives
        self.assertEquals(Delivery.objects.filter_is_examiner(self.examiner1).count(), 3)
        self.assertEquals(Delivery.objects.filter_is_examiner(otherexaminer).count(), 1)
Beispiel #3
0
 def setUp(self):
     self.admin1 = UserBuilder('admin1').user
     self.subjectbuilder = SubjectBuilder.quickadd_ducku_duck1010()
     self.periodbuilder = self.subjectbuilder.add_6month_active_period()
     self.assignmentbuilder = self.periodbuilder.add_assignment('myassignment')
     self.url = reverse('devilry_gradingsystem_admin_summary', kwargs={
         'assignmentid': self.assignmentbuilder.assignment.id,
     })
Beispiel #4
0
    def test_filter_is_active(self):
        duck1010builder = SubjectBuilder.quickadd_ducku_duck1010()
        activeassignmentbuilder = duck1010builder.add_6month_active_period().add_assignment('week1')

        # Add inactive groups to make sure we get no false positives
        duck1010builder.add_6month_lastyear_period().add_assignment('week1')
        duck1010builder.add_6month_nextyear_period().add_assignment('week1')

        qry = Assignment.objects.filter_is_active()
        self.assertEquals(qry.count(), 1)
        self.assertEquals(qry[0], activeassignmentbuilder.assignment)
Beispiel #5
0
    def test_filter_examiner_has_access(self):
        examiner1 = UserBuilder('examiner1').user
        otherexaminer = UserBuilder('otherexaminer').user
        duck1010builder = SubjectBuilder.quickadd_ducku_duck1010()
        activeassignmentbuilder = duck1010builder.add_6month_active_period().add_assignment('week1')
        currentgroupbuilder = activeassignmentbuilder.add_group().add_examiners(examiner1)

        # Add inactive groups and a group with another examiner to make sure we get no false positives
        duck1010builder.add_6month_lastyear_period().add_assignment('week1')\
            .add_group().add_examiners(examiner1)
        duck1010builder.add_6month_nextyear_period().add_assignment('week1')\
            .add_group().add_examiners(examiner1)
        activeassignmentbuilder.add_group().add_examiners(otherexaminer)

        qry = Assignment.objects.filter_examiner_has_access(examiner1)
        self.assertEquals(qry.count(), 1)
        self.assertEquals(qry[0], activeassignmentbuilder.assignment)

        # make sure we are not getting false positives
        self.assertEquals(Assignment.objects.filter_is_examiner(examiner1).count(), 3)
        self.assertEquals(Assignment.objects.filter_is_examiner(otherexaminer).count(), 1)
Beispiel #6
0
    def test_filter_is_active(self):
        duck1010builder = SubjectBuilder.quickadd_ducku_duck1010()
        activedelivery = duck1010builder.add_6month_active_period()\
            .add_assignment('week1')\
            .add_group()\
            .add_deadline_in_x_weeks(weeks=1)\
            .add_delivery_x_hours_before_deadline(hours=1).delivery

        # Add inactive groups to make sure we get no false positives
        duck1010builder.add_6month_lastyear_period()\
            .add_assignment('week1')\
            .add_group()\
            .add_deadline_in_x_weeks(weeks=1)\
            .add_delivery_x_hours_before_deadline(hours=1)
        duck1010builder.add_6month_nextyear_period()\
            .add_assignment('week1')\
            .add_group()\
            .add_deadline_in_x_weeks(weeks=1)\
            .add_delivery_x_hours_before_deadline(hours=1)

        self.assertEquals(len(Delivery.objects.all()), 3)
        qry = Delivery.objects.filter_is_active()
        self.assertEquals(qry.count(), 1)
        self.assertEquals(qry[0], activedelivery)