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( 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 test_learning_unit_volumes_management_get_full_form( self, mock_render, mock_program_manager): mock_program_manager.return_value = True request_factory = RequestFactory() request = request_factory.get(self.url) request.user = self.user request.session = 'session' request._messages = FallbackStorage(request) learning_unit_volumes_management( request, learning_unit_year_id=self.learning_unit_year.id, form_type="full") self.assertTrue(mock_render.called) request, template, context = mock_render.call_args[0] self.assertEqual(template, 'learning_unit/volumes_management.html') self.assertEqual(context['learning_unit_year'], self.learning_unit_year) for formset in context['formsets'].keys(): self.assertIn( formset, [self.learning_unit_year, self.learning_unit_year_partim]) # Check that we display only the current learning_unit_year in the volumes management page (not all the family) self.assertListEqual( context['learning_units'], [self.learning_unit_year, self.learning_unit_year_partim])
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_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_get(self, mock_render, mock_program_manager): mock_program_manager.return_value = True request_factory = RequestFactory() request = request_factory.get( reverse(learning_unit_volumes_management, args=[self.learning_unit_year.id])) 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['learning_unit_year'], self.learning_unit_year) for formset in context['formsets'].keys(): self.assertIn( formset, [self.learning_unit_year, self.learning_unit_year_partim])