def test_main_programmanager_update(self):
        offer_year1 = OfferYearFactory(academic_year=self.academic_year_current)
        offer_year2 = OfferYearFactory(academic_year=self.academic_year_current)
        pgm1 = ProgramManagerFactory(person=self.person, offer_year=offer_year1, is_main=False)
        pgm2 = ProgramManagerFactory(person=self.person, offer_year=offer_year2, is_main=False)

        self.client.post(
            reverse('update_main_person', args=[self.person.pk]) + "?offer_year={},{}".format(
                offer_year1.pk,
                offer_year2.pk
            ), data={'is_main': 'true'}
        )
        pgm1.refresh_from_db()
        pgm2.refresh_from_db()
        self.assertTrue(pgm1.is_main)
        self.assertTrue(pgm2.is_main)

        self.client.post(
            reverse('update_main', args=[pgm1.pk]) + "?offer_year={},{}".format(
                offer_year1.pk,
                offer_year2.pk
            ), data={'is_main': 'false'}
        )
        pgm1.refresh_from_db()
        pgm2.refresh_from_db()
        self.assertFalse(pgm1.is_main)
        self.assertTrue(pgm2.is_main)
Exemplo n.º 2
0
    def setUp(self):
        self.user = User.objects.create_user(username='******',
                                             password='******')
        self.person = PersonFactory(user=self.user)
        add_permission(self.user, "can_access_scoreencoding")
        self.client.force_login(self.user)

        # Set user as program manager of two offer
        academic_year = _get_academic_year(2017)
        self.offer_year_bio2ma = OfferYearFactory(acronym="BIO2MA",
                                                  title="Master en Biologie",
                                                  academic_year=academic_year)
        self.offer_year_bio2bac = OfferYearFactory(
            acronym="BIO2BAC",
            title="Bachelier en Biologie",
            academic_year=academic_year)
        ProgramManagerFactory(offer_year=self.offer_year_bio2ma,
                              person=self.person)
        ProgramManagerFactory(offer_year=self.offer_year_bio2bac,
                              person=self.person)

        # Create an score submission event - with an session exam
        academic_calendar = AcademicCalendarFactory(
            title="Submission of score encoding - 1",
            academic_year=academic_year,
            start_date=academic_year.start_date,
            end_date=academic_year.end_date,
            reference=academic_calendar_type.SCORES_EXAM_SUBMISSION)
        academic_calendar.save()
        self.session_exam_calendar = SessionExamCalendarFactory(
            academic_calendar=academic_calendar,
            number_session=number_session.ONE)

        # Offer : BIO2MA - 2 Learning unit with exam
        self.offer_year_calendar_bio2ma = OfferYearCalendarFactory(
            offer_year=self.offer_year_bio2ma,
            academic_calendar=academic_calendar)

        self.learning_unit_year = LearningUnitYearFactory(
            academic_year=academic_year)
        self.learning_unit_year_2 = LearningUnitYearFactory(
            academic_year=academic_year)
        self.first_session_exam = test_session_exam.create_session_exam(
            number_session.ONE, self.learning_unit_year,
            self.offer_year_bio2ma)
        self.first_session_exam_2 = test_session_exam.create_session_exam(
            number_session.ONE, self.learning_unit_year_2,
            self.offer_year_bio2ma)

        # Offer: BIO2BAC - 1 learning unit with exam
        self.offer_year_calendar_bio2bac = OfferYearCalendarFactory(
            offer_year=self.offer_year_bio2ma,
            academic_calendar=academic_calendar)
        self.learning_unit_year_3 = LearningUnitYearFactory(
            academic_year=academic_year)
        self.first_session_exam_3 = test_session_exam.create_session_exam(
            number_session.ONE, self.learning_unit_year_3,
            self.offer_year_bio2bac)

        self._create_context_exam_enrollment()
Exemplo n.º 3
0
    def test_filter_by_person(self):
        an_offer_type = OfferTypeFactory()
        offer_year1 = OfferYearFactory(
            academic_year=self.academic_year_current,
            entity_management=self.structure_parent1,
            offer_type=an_offer_type)

        offer_year2 = OfferYearFactory(
            academic_year=self.academic_year_current,
            entity_management=self.structure_child1,
            offer_type=an_offer_type)
        ProgramManagerFactory(person=self.person, offer_year=offer_year1)
        ProgramManagerFactory(person=self.person, offer_year=offer_year2)
        offer_year_results = pgm_manager_administration._filter_by_person(
            self.person, [self.structure_parent1, self.structure_child1],
            self.academic_year_current, an_offer_type)
        self.assertCountEqual(offer_year_results, [offer_year1, offer_year2])

        offer_year_results = pgm_manager_administration._filter_by_person(
            self.person, [self.structure_parent1], self.academic_year_current,
            an_offer_type)
        self.assertCountEqual(offer_year_results, [offer_year1])

        offer_year_results = pgm_manager_administration._filter_by_person(
            self.person, [], self.academic_year_current, an_offer_type)
        self.assertCountEqual(offer_year_results, [offer_year1, offer_year2])

        an_other_offer_type = OfferTypeFactory()
        offer_year_results = pgm_manager_administration._filter_by_person(
            self.person, [self.structure_parent1], self.academic_year_current,
            an_other_offer_type)
        self.assertCountEqual(offer_year_results, [])
Exemplo n.º 4
0
 def test_adviser_can_manage_dissertation(self):
     manager = AdviserManagerFactory()
     manager2 = AdviserManagerFactory()
     a_person_teacher = PersonFactory.create(first_name='Pierre', last_name='Dupont')
     a_person_teacher2 = PersonFactory.create(first_name='Marco', last_name='Millet')
     teacher = AdviserTeacherFactory(person=a_person_teacher)
     teacher2 = AdviserTeacherFactory(person=a_person_teacher2)
     a_person_student = PersonFactory.create(last_name="Durant", user=None)
     student = StudentFactory.create(person=a_person_student)
     offer_year_start = OfferYearFactory(academic_year=self.academic_year1, acronym="test_offer2")
     offer_year_start2 = OfferYearFactory(acronym="test_offer3", academic_year=offer_year_start.academic_year)
     offer = offer_year_start.offer
     offer2 = offer_year_start2.offer
     FacultyAdviserFactory(adviser=manager, offer=offer)
     create_faculty_adviser(manager, offer)
     create_faculty_adviser(manager2, offer2)
     proposition_dissertation = PropositionDissertationFactory(author=teacher,
                                                               creator=a_person_teacher,
                                                               title='Proposition1')
     dissertation = DissertationFactory(author=student,
                                        title='Dissertation 2017',
                                        offer_year_start=offer_year_start,
                                        proposition_dissertation=proposition_dissertation,
                                        status='DIR_SUBMIT',
                                        active=True,
                                        dissertation_role__adviser=teacher,
                                        dissertation_role__status='PROMOTEUR')
     self.assertEqual(adviser_can_manage(dissertation, manager), True)
     self.assertEqual(adviser_can_manage(dissertation, manager2), False)
     self.assertEqual(adviser_can_manage(dissertation, teacher), False)
Exemplo n.º 5
0
 def setUp(self):
     self.maxDiff = None
     self.manager = AdviserManagerFactory()
     a_person_teacher = PersonFactory.create(
         first_name='Pierre',
         last_name='Dupont',
         email='*****@*****.**')
     self.teacher = AdviserTeacherFactory(person=a_person_teacher)
     a_person_teacher2 = PersonFactory.create(
         first_name='Marco',
         last_name='Millet',
         email='*****@*****.**')
     self.teacher2 = AdviserTeacherFactory(person=a_person_teacher2)
     self.teacher3 = AdviserTeacherFactory()
     self.teacher4 = AdviserTeacherFactory()
     a_person_student = PersonFactory.create(
         last_name="Durant",
         user=None,
         email='*****@*****.**')
     self.student = StudentFactory.create(person=a_person_student)
     self.offer1 = OfferFactory(title="test_offer1")
     self.offer2 = OfferFactory(title="test_offer2")
     self.academic_year1 = AcademicYearFactory()
     self.academic_year2 = AcademicYearFactory(
         year=self.academic_year1.year - 1)
     self.offer_year_start1 = OfferYearFactory(
         acronym="test_offer1",
         offer=self.offer1,
         academic_year=self.academic_year1)
     self.offer_year_start2 = OfferYearFactory(
         acronym="test_offer2",
         offer=self.offer2,
         academic_year=self.academic_year1)
     self.offer_proposition1 = OfferPropositionFactory(
         offer=self.offer1,
         global_email_to_commission=True,
         evaluation_first_year=True)
     self.offer_proposition2 = OfferPropositionFactory(
         offer=self.offer2, global_email_to_commission=False)
     self.proposition_dissertation = PropositionDissertationFactory(
         author=self.teacher,
         creator=a_person_teacher,
         title='Proposition 1212121')
     FacultyAdviserFactory(adviser=self.manager, offer=self.offer1)
     self.dissertation1 = DissertationFactory(
         author=self.student,
         title='Dissertation_test_email',
         offer_year_start=self.offer_year_start1,
         proposition_dissertation=self.proposition_dissertation,
         status='DIR_SUBMIT',
         active=True,
         dissertation_role__adviser=self.teacher,
         dissertation_role__status='PROMOTEUR')
     DissertationRoleFactory(adviser=self.teacher2,
                             status='CO_PROMOTEUR',
                             dissertation=self.dissertation1)
     DissertationRoleFactory(adviser=self.teacher3,
                             status='READER',
                             dissertation=self.dissertation1)
Exemplo n.º 6
0
 def test_managed_programs(self):
     offer_year_1 = OfferYearFactory()
     offer_year_2 = OfferYearFactory()
     ProgramManagerFactory(person=self.person_with_user, offer_year=offer_year_1)
     ProgramManagerFactory(person=self.person_with_user, offer_year=offer_year_2)
     managed_programs = self.person_with_user.get_managed_programs()
     self.assertTrue(len(managed_programs) == 2)
     self.assertTrue(offer_year_1 in managed_programs)
     self.assertTrue(offer_year_2 in managed_programs)
Exemplo n.º 7
0
    def setUpTestData(cls):
        cls.person = PersonFactory()
        cls.offer_year_without_equivalent_education_group_year = OfferYearFactory(
            corresponding_education_group_year=None)

        acronym = "Acronym"
        cls.education_group_year = EducationGroupYearFactory(acronym=acronym)
        cls.offer_year = OfferYearFactory(
            acronym=acronym,
            corresponding_education_group_year=cls.education_group_year)
    def test_add_program_managers(self):
        offer_year1 = OfferYearFactory(academic_year=self.academic_year_current,
                                       entity_management=self.structure_parent1)
        offer_year2 = OfferYearFactory(academic_year=self.academic_year_current,
                                       entity_management=self.structure_parent1)

        self.client.post(
            reverse("create_manager_person") + "?offer_year={},{}".format(offer_year1.pk, offer_year2.pk),
            data={'person': self.person.pk}
        )
        self.assertEqual(ProgramManager.objects.filter(person=self.person).count(), 2)
    def test_list_pgm_manager(self):
        offer_year1 = OfferYearFactory(academic_year=self.academic_year_current)
        offer_year2 = OfferYearFactory(academic_year=self.academic_year_current)
        pgm1 = ProgramManagerFactory(person=self.person, offer_year=offer_year1)
        pgm2 = ProgramManagerFactory(person=self.person, offer_year=offer_year2)

        response = self.client.get(
            reverse('manager_list'), data={'offer_year': [offer_year1.pk, offer_year2.pk]}
        )
        self.assertEqual(
            response.context['by_person'], {self.person: [pgm1, pgm2]}
        )
Exemplo n.º 10
0
 def test_add_pgm_manager_to_two_pgm(self):
     self.client.force_login(self.user)
     offer_year1 = OfferYearFactory(
         academic_year=self.academic_year_current)
     offer_year2 = OfferYearFactory(
         academic_year=self.academic_year_current)
     list_offer_id = [offer_year1, offer_year2]
     pgm_manager_administration.add_program_managers(
         list_offer_id, self.person)
     managers = program_manager.find_by_offer_year_list(
         [offer_year1, offer_year2])
     self.assertEqual(len(managers), 2)
Exemplo n.º 11
0
    def setUp(self):

        academic_year = AcademicYearFactory()
        self.education_group_type_training = EducationGroupTypeFactory(
            category=education_group_categories.TRAINING)
        self.education_group_type_minitraining = EducationGroupTypeFactory(
            category=education_group_categories.MINI_TRAINING)
        self.education_group_type_group = EducationGroupTypeFactory(
            category=education_group_categories.GROUP)

        self.education_group_year_1 = EducationGroupYearFactory(
            academic_year=academic_year,
            education_group_type=self.education_group_type_training)
        self.education_group_year_2 = EducationGroupYearFactory(
            academic_year=academic_year,
            education_group_type=self.education_group_type_minitraining)

        self.education_group_year_3 = EducationGroupYearFactory(
            academic_year=academic_year,
            education_group_type=self.education_group_type_training)
        self.education_group_year_4 = EducationGroupYearFactory(
            academic_year=academic_year,
            education_group_type=self.education_group_type_group)
        self.education_group_year_5 = EducationGroupYearFactory(
            academic_year=academic_year,
            education_group_type=self.education_group_type_group)

        self.offer_year_2 = OfferYearFactory(academic_year=academic_year)
        self.offer_year_domain = OfferYearDomainFactory(
            offer_year=self.offer_year_2,
            education_group_year=self.education_group_year_2)
        self.offer_year_entity_admin = OfferYearEntityFactory(
            offer_year=self.offer_year_2,
            education_group_year=self.education_group_year_2,
            type=offer_year_entity_type.ENTITY_ADMINISTRATION)
        self.entity_version_admin = EntityVersionFactory(
            entity=self.offer_year_entity_admin.entity, parent=None)

        self.offer_year_3 = OfferYearFactory(academic_year=academic_year)
        self.offer_year_entity_management = OfferYearEntityFactory(
            offer_year=self.offer_year_3,
            education_group_year=self.education_group_year_3,
            type=offer_year_entity_type.ENTITY_MANAGEMENT)
        self.entity_version_management = EntityVersionFactory(
            entity=self.offer_year_entity_management.entity, parent=None)

        self.group_element_year_4 = GroupElementYearFactory(
            parent=self.education_group_year_3,
            child_branch=self.education_group_year_1)
        self.group_element_year_5 = GroupElementYearFactory(
            parent=self.education_group_year_3,
            child_branch=self.education_group_year_1)
Exemplo n.º 12
0
    def test_add_program_managers(self):
        offer_year1 = OfferYearFactory(
            academic_year=self.academic_year_current,
            entity_management=self.structure_parent1)
        offer_year2 = OfferYearFactory(
            academic_year=self.academic_year_current,
            entity_management=self.structure_parent1)

        ProgramManagerFactory(person=self.person, offer_year=offer_year1)
        self.assertEqual(
            len(
                pgm_manager_administration.add_program_managers(
                    [offer_year1, offer_year2], self.person)), 1)
    def test_pgm_manager_queried_by_academic_year(self):
        a_management_entity = StructureFactory()
        offer_year_previous_year = OfferYearFactory(academic_year=self.academic_year_previous,
                                                    entity_management=a_management_entity)
        offer_year_current_year = OfferYearFactory(academic_year=self.academic_year_current,
                                                   entity_management=a_management_entity)
        person_previous_year = PersonFactory()
        person_current_year = PersonFactory()

        ProgramManagerFactory(person=person_previous_year, offer_year=offer_year_previous_year)
        ProgramManagerFactory(person=person_current_year, offer_year=offer_year_current_year)

        self.assertEqual(len(pgm_manager_administration._get_entity_program_managers([{'root': a_management_entity}],
                                                                                     self.academic_year_current)), 1)
    def test_offer_year_queried_by_academic_year(self):
        an_entity_management = StructureFactory()
        OfferYearFactory(academic_year=self.academic_year_previous, entity_management=an_entity_management)
        OfferYearFactory(academic_year=self.academic_year_current, entity_management=an_entity_management)
        OfferYearFactory(academic_year=self.academic_year_current, entity_management=an_entity_management)

        self.assertEqual(len(pgm_manager_administration._get_programs(self.academic_year_current,
                                                                      [an_entity_management],
                                                                      None,
                                                                      None)), 2)
        self.assertEqual(len(pgm_manager_administration._get_programs(self.academic_year_previous,
                                                                      [an_entity_management],
                                                                      None,
                                                                      None)), 1)
Exemplo n.º 15
0
    def setUp(self):
        self.maxDiff = None
        self.manager = AdviserManagerFactory()
        a_person_teacher = PersonFactory.create(first_name='Pierre', last_name='Dupont')
        self.teacher = AdviserTeacherFactory(person=a_person_teacher)
        a_person_teacher2 = PersonFactory.create(first_name='Marco', last_name='Millet')
        self.teacher2 = AdviserTeacherFactory(person=a_person_teacher2)
        a_person_student = PersonFactory.create(last_name="Durant", user=None)
        student = StudentFactory.create(person=a_person_student)
        self.offer1 = OfferFactory(title="test_offer1")
        self.offer2 = OfferFactory(title="test_offer2")
        self.academic_year1 = AcademicYearFactory()
        self.academic_year2 = AcademicYearFactory(year=self.academic_year1.year-1)
        self.offer_year_start1 = OfferYearFactory(acronym="test_offer1", offer=self.offer1,
                                             academic_year=self.academic_year1)
        offer_year_start2 = OfferYearFactory(academic_year=self.academic_year2, acronym="test_offer2", offer=self.offer1)
        self.offer_proposition1 = OfferPropositionFactory(offer=self.offer1)
        self.offer_proposition2 = OfferPropositionFactory(offer=self.offer2)
        FacultyAdviserFactory(adviser=self.manager, offer=self.offer1)
        self.manager2 = AdviserManagerFactory()
        FacultyAdviserFactory(adviser=self.manager, offer=self.offer2)
        roles = ['PROMOTEUR', 'CO_PROMOTEUR', 'READER', 'PROMOTEUR', 'ACCOMPANIST', 'PRESIDENT']
        status = ['DRAFT', 'COM_SUBMIT', 'EVA_SUBMIT', 'TO_RECEIVE', 'DIR_SUBMIT', 'DIR_SUBMIT']
        self.dissertations_list = list()
        for x in range(0, 6):
            proposition_dissertation = PropositionDissertationFactory(author=self.teacher,
                                                                      creator=a_person_teacher,
                                                                      title='Proposition {}'.format(x)
                                                                      )
            PropositionOfferFactory(proposition_dissertation=proposition_dissertation,
                                    offer_proposition=self.offer_proposition1)

            self.dissertations_list.append(DissertationFactory(author=student,
                                title='Dissertation {}'.format(x),
                                offer_year_start=self.offer_year_start1,
                                proposition_dissertation=proposition_dissertation,
                                status=status[x],
                                active=True,
                                dissertation_role__adviser=self.teacher,
                                dissertation_role__status=roles[x]
                                ))
        self.dissertation_1 = DissertationFactory\
            (author=student,
            title='Dissertation 2017',
            offer_year_start=self.offer_year_start1,
            proposition_dissertation=proposition_dissertation,
            status='COM_SUBMIT',
            active=True,
            dissertation_role__adviser=self.teacher2,
            dissertation_role__status='PROMOTEUR')
Exemplo n.º 16
0
    def test_add_offer_program_manager(self):
        offer_year1 = OfferYearFactory(
            academic_year=self.academic_year_current,
            entity_management=self.structure_parent1)
        offer_year2 = OfferYearFactory(
            academic_year=self.academic_year_current,
            entity_management=self.structure_parent1)

        ProgramManagerFactory(person=self.person, offer_year=offer_year1)
        self.assertFalse(
            pgm_manager_administration.add_offer_program_manager(
                offer_year1, self.person))
        self.assertTrue(
            pgm_manager_administration.add_offer_program_manager(
                offer_year2, self.person))
Exemplo n.º 17
0
    def test_with_end_date_inferior_to_offer_year_calendar_end_date(self):
        an_academic_calendar = AcademicCalendarFactory(
            academic_year=self.an_academic_year)
        an_offer_year = OfferYearFactory(academic_year=self.an_academic_year)
        an_offer_year_calendar = OfferYearCalendarFactory(
            academic_calendar=an_academic_calendar, offer_year=an_offer_year)

        form = AcademicCalendarForm(data={
            "academic_year":
            self.an_academic_year.pk,
            "title":
            "New title",
            "start_date":
            an_academic_calendar.start_date,
            "end_date":
            an_offer_year_calendar.end_date - datetime.timedelta(days=2)
        },
                                    instance=an_academic_calendar)
        self.assertFalse(form.is_valid())
        date_format = str(_('date_format'))
        self.assertEqual(
            form.errors['end_date'],
            _("The closure's date of '%s' of the academic calendar can't be "
              "lower than %s (end date of '%s' of the program '%s')") %
            (an_academic_calendar.title,
             an_offer_year_calendar.end_date.strftime(date_format),
             an_academic_calendar.title,
             an_offer_year_calendar.offer_year.acronym))
Exemplo n.º 18
0
 def setUp(self):
     today = datetime.date.today()
     self.academic_year = AcademicYearFactory(start_date=today,
                                              end_date=today.replace(year=today.year + 1),
                                              year=today.year)
     self.offer_year = OfferYearFactory(academic_year=self.academic_year)
     self.COMMON_CONTEXT_KEYS = ['offer_year', 'countries', 'is_program_manager', 'entity_versions']
Exemplo n.º 19
0
    def setUp(self):
        self.academic_year = AcademicYearFactory()
        self.offer_year = OfferYearFactory(academic_year=self.academic_year)
        self.learning_unit_year = LearningUnitYearFactory(academic_year=self.academic_year, acronym="LBIR1100",
                                                          decimal_scores=False)
        # Create tutor and score responsible
        _create_attribution(self.learning_unit_year, person=PersonFactory(last_name='Alibra', first_name='Paul'))
        _create_attribution(self.learning_unit_year, person=PersonFactory(last_name='Durant', first_name='Thomas'),
                            is_score_responsible=True)
        _create_attribution(self.learning_unit_year, person=PersonFactory(last_name='Lobradi', first_name='Pierre'))

        self.session_exam = SessionExamFactory(number_session=1, learning_unit_year=self.learning_unit_year)

        # Create three students and enrol them to learning unit year
        self.student_1 = StudentFactory(person=PersonFactory(last_name='Dupont', first_name='Jacques'))
        self.student_2 = StudentFactory(person=PersonFactory(last_name='Dupont', first_name='Axel'))
        self.student_3 = StudentFactory(person=PersonFactory(last_name='Armand', first_name='Zoe'))

        for student in (self.student_1, self.student_2, self.student_3):
            offer_enrollment = OfferEnrollmentFactory(offer_year=self.offer_year, student=student)
            lu_enrolmment = LearningUnitEnrollmentFactory(
                offer_enrollment=offer_enrollment,
                learning_unit_year=self.learning_unit_year
            )
            ExamEnrollmentFactory(learning_unit_enrollment=lu_enrolmment, session_exam=self.session_exam)
Exemplo n.º 20
0
 def create_test_pgm_manager(self):
     egy = EducationGroupYearFactory(academic_year__current=True)
     offer_year = OfferYearFactory(academic_year=egy.academic_year,
                                   acronym=egy.acronym)
     return ProgramManagerFactory(offer_year=offer_year,
                                  education_group=egy.education_group,
                                  person=self.person_foo)
Exemplo n.º 21
0
 def test_is_not_already_program_manager(self):
     offer_year1 = OfferYearFactory(
         academic_year=self.academic_year_current,
         entity_management=self.structure_parent1)
     self.assertFalse(
         pgm_manager_administration.is_already_program_manager(
             self.person, offer_year1))
Exemplo n.º 22
0
    def test_with_end_date_inferior_to_offer_year_calendar_end_date(self):
        an_academic_calendar = AcademicCalendarFactory(
            academic_year=self.an_academic_year)
        an_offer_year = OfferYearFactory(academic_year=self.an_academic_year)
        an_offer_year_calendar = OfferYearCalendarFactory(
            academic_calendar=an_academic_calendar, offer_year=an_offer_year)

        form = AcademicCalendarForm(data={
            "academic_year":
            self.an_academic_year.pk,
            "title":
            "New title",
            "start_date":
            an_academic_calendar.start_date,
            "end_date":
            an_offer_year_calendar.end_date - datetime.timedelta(days=2)
        },
                                    instance=an_academic_calendar)
        self.assertFalse(form.is_valid())
        date_format = str(_('date_format'))
        self.assertEqual(
            form.errors['end_date'], "%s." %
            (_('academic_calendar_offer_year_calendar_end_date_error') %
             (an_academic_calendar.title,
              an_offer_year_calendar.end_date.strftime(date_format),
              an_academic_calendar.title,
              an_offer_year_calendar.offer_year.acronym)))
Exemplo n.º 23
0
    def test_remove_pgm_manager_from_two_pgm(self):
        self.client.force_login(self.user)
        offer_year1 = OfferYearFactory(
            academic_year=self.academic_year_current)
        offer_year2 = OfferYearFactory(
            academic_year=self.academic_year_current)
        ProgramManagerFactory(person=self.person, offer_year=offer_year1)
        ProgramManagerFactory(person=self.person, offer_year=offer_year2)

        managers_count_before = len(
            program_manager.ProgramManager.objects.all())
        pgm_manager_administration.remove_program_mgr_from_offers(
            [offer_year1, offer_year2], self.person)
        managers_count_after = len(
            program_manager.ProgramManager.objects.all())
        self.assertEqual(managers_count_after, managers_count_before - 2)
Exemplo n.º 24
0
    def test_offer_read(self,
                        mock_program_manager,
                        mock_render,
                        mock_decorators):
        mock_decorators.login_required = lambda x: x
        mock_decorators.permission_required = lambda *args, **kwargs: lambda func: func

        today = datetime.date.today()
        academic_year = AcademicYearFactory(start_date=today,
                                            end_date=today.replace(year=today.year + 1),
                                            year=today.year)
        offer_year = OfferYearFactory(academic_year=academic_year)

        academic_calendar = AcademicCalendarFactory(academic_year=academic_year)

        offer_year_calendar = OfferYearCalendarFactory(offer_year=offer_year,
                                                       academic_calendar=academic_calendar)
        ProgramManagerFactory(offer_year=offer_year)

        request = mock.Mock(method='GET')

        from base.views.offer import offer_read

        offer_read(request, offer_year_calendar.id)

        self.assertTrue(mock_render.called)

        request, template, context = mock_render.call_args[0]

        self.assertEqual(template, 'offer/tab_identification.html')
Exemplo n.º 25
0
 def test_find_by_offer_year(self):
     tmp_student = StudentFactory()
     tmp_offer_year = OfferYearFactory()
     OfferEnrollmentFactory.create(offer_year=tmp_offer_year, student=tmp_student)
     db_student = list(student.find_by_offer_year([tmp_offer_year][0]))[0]
     self.assertIsNotNone(db_student)
     self.assertEqual(db_student, tmp_student)
Exemplo n.º 26
0
    def setUp(self):
        today = datetime.datetime.today()
        twenty_days = datetime.timedelta(days=20)

        #Take same academic year as the one in the associated xls file
        an_academic_year = AcademicYearFactory(year=2017)

        a_learning_unit_year = LearningUnitYearFakerFactory(
            academic_year=an_academic_year, acronym=LEARNING_UNIT_ACRONYM)

        tutor = TutorFactory()

        an_academic_calendar = AcademicCalendarFactory(
            academic_year=an_academic_year,
            start_date=today - twenty_days,
            end_date=today + twenty_days,
            reference=academic_calendar_type.SCORES_EXAM_SUBMISSION)
        SessionExamCalendarFactory(number_session=number_session.ONE,
                                   academic_calendar=an_academic_calendar)
        AttributionFactory(learning_unit_year=a_learning_unit_year,
                           tutor=tutor)
        a_session_exam = SessionExamFactory(
            number_session=number_session.ONE,
            learning_unit_year=a_learning_unit_year)

        self.person_student_1 = PersonFactory(email=EMAIL_1)
        person_student_2 = PersonFactory(email=EMAIL_2)

        student_1 = StudentFactory(registration_id=REGISTRATION_ID_1,
                                   person=self.person_student_1)
        student_2 = StudentFactory(registration_id=REGISTRATION_ID_2,
                                   person=person_student_2)

        an_offer_year = OfferYearFactory(academic_year=an_academic_year,
                                         acronym=OFFER_ACRONYM)
        offer_enrollment_1 = OfferEnrollmentFactory(offer_year=an_offer_year,
                                                    student=student_1)
        offer_enrollment_2 = OfferEnrollmentFactory(offer_year=an_offer_year,
                                                    student=student_2)

        learning_unit_enrollment_1 = LearningUnitEnrollmentFactory(
            learning_unit_year=a_learning_unit_year,
            offer_enrollment=offer_enrollment_1)
        learning_unit_enrollment_2 = LearningUnitEnrollmentFactory(
            learning_unit_year=a_learning_unit_year,
            offer_enrollment=offer_enrollment_2)

        ExamEnrollmentFactory(
            session_exam=a_session_exam,
            learning_unit_enrollment=learning_unit_enrollment_1)
        ExamEnrollmentFactory(
            session_exam=a_session_exam,
            learning_unit_enrollment=learning_unit_enrollment_2)

        user = tutor.person.user
        self.client = Client()
        self.client.force_login(user=user)
        self.url = reverse(
            'upload_encoding',
            kwargs={'learning_unit_year_id': a_learning_unit_year.id})
 def build_old_offer_yr_calendar(self):
     self.previous_academic_year = AcademicYearFactory(start_date=today.replace(year=today.year - 3),
                                                       end_date=today.replace(year=today.year - 2),
                                                       year=today.year - 3)
     an_previous_academic_calendar = AcademicCalendarFactory(academic_year=self.previous_academic_year)
     self.a_previous_offer_year = OfferYearFactory(academic_year=self.previous_academic_year)
     self.a_previous_offer_yr_calendar = OfferYearCalendarFactory(academic_calendar=an_previous_academic_calendar,
                                                                  offer_year=self.a_previous_offer_year)
 def build_current_offer_yr_calendar(self):
     self.current_academic_year = AcademicYearFactory(start_date=today,
                                                      end_date=today.replace(year=today.year + 1),
                                                      year=today.year)
     an_academic_calendar = AcademicCalendarFactory(academic_year=self.current_academic_year)
     self.a_current_offer_year = OfferYearFactory(academic_year=self.current_academic_year)
     self.a_current_offer_yr_calendar = OfferYearCalendarFactory(academic_calendar=an_academic_calendar,
                                                            offer_year=self.a_current_offer_year)
Exemplo n.º 29
0
 def test_find_by_offers_year(self):
     student1 = StudentFactory.create()
     offer_year1 = OfferYearFactory()
     OfferEnrollmentFactory(student=student1, offer_year=offer_year1)
     result = list(offer_enrollment.find_by_offers_years([offer_year1]))
     self.assertEqual(result[0].student, student1)
     self.assertEqual(result[0].offer_year, offer_year1)
     self.assertEqual(len(result), 1)
Exemplo n.º 30
0
    def test_find_by_person_exclude_offer_list(self):
        a_person = PersonFactory(first_name="Yannick", last_name="Leblanc")

        previous_academic_year = AcademicYearFactory(
            year=datetime.datetime.now().year - 1)
        offer_yr_previous = OfferYearFactory(
            academic_year=previous_academic_year)
        ProgramManagerFactory(offer_year=offer_yr_previous, person=a_person)

        offer_yr1 = OfferYearFactory(academic_year=self.academic_year)
        offer_yr2 = OfferYearFactory(academic_year=self.academic_year)
        ProgramManagerFactory(offer_year=offer_yr1, person=a_person)
        ProgramManagerFactory(offer_year=offer_yr2, person=a_person)
        self.assertEquals(
            len(
                program_manager.find_by_person_exclude_offer_list(
                    a_person, [offer_yr1], self.academic_year)), 1)