def test_learning_unit_volumes_management_post_wrong_data(
            self, mock_render, mock_program_manager):
        mock_program_manager.return_value = True

        request_factory = RequestFactory()
        data = get_valid_formset_data(self.learning_unit_year.acronym)
        data.update(
            get_valid_formset_data(self.learning_unit_year_partim.acronym))
        data.update({'LDROI1200A-0-volume_total': 3})
        data.update({'LDROI1200A-0-volume_q2': 3})
        data.update({'LDROI1200A-0-volume_requirement_entity': 2})
        data.update({'LDROI1200A-0-volume_total_requirement_entities': 3})

        request = request_factory.post(reverse(
            learning_unit_volumes_management,
            kwargs={
                'learning_unit_year_id': self.learning_unit_year.id,
                'form_type': 'full'
            }),
                                       data=data)

        request.user = self.user
        setattr(request, 'session', 'session')
        setattr(request, '_messages', FallbackStorage(request))

        learning_unit_volumes_management(
            request,
            learning_unit_year_id=self.learning_unit_year.id,
            form_type="full")
        # Volumes of partims can be greater than parent's
        msg_level = [m.level for m in get_messages(request)]
        msg = [m.message for m in get_messages(request)]
        self.assertEqual(len(msg), 1)
        self.assertIn(messages.SUCCESS, msg_level)
    def test_learning_unit_volumes_management_post_wrong_data_ajax(
            self, mock_program_manager):
        mock_program_manager.return_value = True

        request_factory = RequestFactory()
        data = get_valid_formset_data(self.learning_unit_year.acronym)
        data.update(
            get_valid_formset_data(self.learning_unit_year_partim.acronym))
        data.update({'LDROI1200A-0-volume_total': 3})
        data.update({'LDROI1200A-0-volume_q2': 3})
        data.update({'LDROI1200A-0-volume_requirement_entity': 2})
        data.update({'LDROI1200A-0-volume_total_requirement_entities': 3})

        request = request_factory.post(reverse(
            learning_unit_volumes_management,
            kwargs={
                'learning_unit_year_id': self.learning_unit_year.id,
                'form_type': 'full'
            }),
                                       data=data,
                                       HTTP_X_REQUESTED_WITH='XMLHttpRequest')

        request.user = self.user

        response = learning_unit_volumes_management(
            request,
            learning_unit_year_id=self.learning_unit_year.id,
            form_type="full")
        # Volumes of partims can be greater than parent's
        self.assertEqual(response.status_code, HttpResponse.status_code)
Ejemplo n.º 3
0
    def test_learning_unit_volumes_management_post_wrong_save(
            self, mock_program_manager, save):
        mock_program_manager.return_value = True

        request_factory = RequestFactory()
        data = get_valid_formset_data(self.learning_unit_year.acronym)
        data.update(
            get_valid_formset_data(self.learning_unit_year_partim.acronym,
                                   is_partim=True))

        request = request_factory.post(reverse(
            learning_unit_volumes_management,
            args=[self.learning_unit_year.id]),
                                       data=data)

        request.user = self.user
        setattr(request, 'session', 'session')
        setattr(request, '_messages', FallbackStorage(request))

        learning_unit_volumes_management(request, self.learning_unit_year.id)

        msg_level = [m.level for m in get_messages(request)]
        msg = [m.message for m in get_messages(request)]
        self.assertEqual(len(msg), 1)
        self.assertIn(messages.ERROR, msg_level)
Ejemplo n.º 4
0
    def test_learning_unit_volumes_management_post_wrong_data_ajax(
            self, mock_program_manager):
        mock_program_manager.return_value = True

        request_factory = RequestFactory()
        data = get_valid_formset_data(self.learning_unit_year.acronym)
        data.update(
            get_valid_formset_data(self.learning_unit_year_partim.acronym))

        request = request_factory.post(reverse(
            learning_unit_volumes_management,
            args=[self.learning_unit_year.id]),
                                       data=data,
                                       HTTP_X_REQUESTED_WITH='XMLHttpRequest')

        request.user = self.user

        response = learning_unit_volumes_management(request,
                                                    self.learning_unit_year.id)
        prefix = self.learning_unit_year_partim.acronym
        self.assertJSONEqual(
            response.content.decode("utf-8"), {
                "errors": {
                    prefix + "-0-volume_total":
                    [_("vol_tot_full_must_be_greater_than_partim")],
                    prefix + "-1-volume_total":
                    [_("vol_tot_full_must_be_greater_than_partim")]
                }
            })
Ejemplo n.º 5
0
    def test_learning_unit_volumes_management_post_wrong_data(
            self, mock_render, mock_program_manager):
        mock_program_manager.return_value = True

        request_factory = RequestFactory()
        data = get_valid_formset_data(self.learning_unit_year.acronym)
        data.update(
            get_valid_formset_data(self.learning_unit_year_partim.acronym))

        request = request_factory.post(reverse(
            learning_unit_volumes_management,
            args=[self.learning_unit_year.id]),
                                       data=data)

        request.user = self.user
        setattr(request, 'session', 'session')
        setattr(request, '_messages', FallbackStorage(request))

        learning_unit_volumes_management(request, self.learning_unit_year.id)

        self.assertTrue(mock_render.called)
        request, template, context = mock_render.call_args[0]
        self.assertEqual(template, 'learning_unit/volumes_management.html')
        self.assertEqual(
            context['formsets'][self.learning_unit_year_partim].errors[0],
            {'volume_total': [_('vol_tot_full_must_be_greater_than_partim')]})
Ejemplo n.º 6
0
    def test_learning_unit_volumes_management_post(self, mock_program_manager):
        mock_program_manager.return_value = True

        request_factory = RequestFactory()
        data = get_valid_formset_data(self.learning_unit_year.acronym)
        data.update(
            get_valid_formset_data(self.learning_unit_year_partim.acronym,
                                   is_partim=True))

        request = request_factory.post(reverse(
            learning_unit_volumes_management,
            args=[self.learning_unit_year.id]),
                                       data=data)

        request.user = self.user
        setattr(request, 'session', 'session')
        setattr(request, '_messages', FallbackStorage(request))

        learning_unit_volumes_management(request, self.learning_unit_year.id)

        msg_level = [m.level for m in get_messages(request)]
        msg = [m.message for m in get_messages(request)]
        self.assertEqual(len(msg), 1)
        self.assertIn(messages.SUCCESS, msg_level)

        for generated_container_year in self.generate_container:
            learning_component_year = generated_container_year.learning_component_cm_full
            self.check_postponement(learning_component_year)
Ejemplo n.º 7
0
    def setUpTestData(cls):
        start_year = AcademicYearFactory(year=get_current_year())
        end_year = AcademicYearFactory(year=get_current_year() + 10)

        AcademicCalendarFactory(
            data_year=start_year,
            start_date=datetime.datetime(start_year.year - 2, 9, 15),
            end_date=datetime.datetime(start_year.year + 1, 9, 14),
            reference=LEARNING_UNIT_EDITION_FACULTY_MANAGERS
        )

        cls.academic_years = GenerateAcademicYear(start_year=start_year, end_year=end_year)
        generate_learning_unit_edition_calendars(cls.academic_years)

        cls.generate_container = GenerateContainer(start_year=start_year, end_year=end_year)
        cls.generated_container_year = cls.generate_container.generated_container_years[0]

        cls.container_year = cls.generated_container_year.learning_container_year
        cls.learning_unit_year = cls.generated_container_year.learning_unit_year_full
        cls.learning_unit_year_partim = cls.generated_container_year.learning_unit_year_partim

        cls.person = CentralManagerFactory()

        cls.url = reverse('learning_unit_volumes_management', kwargs={
            'learning_unit_year_id': cls.learning_unit_year.id,
            'form_type': 'full'
        })

        PersonEntityFactory(entity=cls.generate_container.entities[0], person=cls.person)
        cls.data = get_valid_formset_data(cls.learning_unit_year.acronym)
        cls.partim_formset_data = get_valid_formset_data(cls.learning_unit_year_partim.acronym, is_partim=True)
        cls.formset_data = get_valid_formset_data(cls.learning_unit_year_partim.acronym)
        cls.data.update({
            **cls.formset_data,
            'LDROI1200A-0-volume_total': 3,
            'LDROI1200A-0-volume_q2': 3,
            'LDROI1200A-0-volume_requirement_entity': 2,
            'LDROI1200A-0-volume_total_requirement_entities': 3,
        })