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)
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)
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")] } })
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')]})
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)
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, })