diff --git a/sapl/materia/tests/test_materia.py b/sapl/materia/tests/test_materia.py index 152dd1fc5..3d3c4e266 100644 --- a/sapl/materia/tests/test_materia.py +++ b/sapl/materia/tests/test_materia.py @@ -1,14 +1,16 @@ import pytest from django.contrib.auth.models import User +from django.core.files.uploadedfile import SimpleUploadedFile from django.core.urlresolvers import reverse from model_mommy import mommy from sapl.comissoes.models import Comissao, TipoComissao from sapl.materia.models import (Anexada, Autor, Autoria, DespachoInicial, DocumentoAcessorio, MateriaLegislativa, - Numeracao, RegimeTramitacao, StatusTramitacao, - TipoAutor, TipoDocumento, + Numeracao, Proposicao, + RegimeTramitacao, StatusTramitacao, + TipoAutor, TipoProposicao, TipoDocumento, TipoMateriaLegislativa, Tramitacao, UnidadeTramitacao) from sapl.norma.models import (LegislacaoCitada, NormaJuridica, @@ -429,7 +431,6 @@ def test_form_errors_relatoria(admin_client): ['Este campo é obrigatório.']) assert (response.context_data['form'].errors['parlamentar'] == ['Este campo é obrigatório.']) -<<<<<<< HEAD @pytest.mark.django_db(transaction=False) @@ -444,10 +445,16 @@ def test_proposicao_submit(admin_client): nome='Autor Teste', grupo_usuario_id=8) + file_content = 'file_content' + texto = SimpleUploadedFile("file.txt", file_content.encode('UTF-8')) + response = admin_client.post(reverse('sapl.materia:proposicao_create'), {'tipo': mommy.make(TipoProposicao, pk=3).pk, 'descricao': 'Teste proposição', - 'autor': autor, + 'justificativa_devolucao': ' ', + 'status': 'E', + 'autor': autor.pk, + 'texto_original': texto, 'salvar': 'salvar', }, follow=True) @@ -462,6 +469,7 @@ def test_proposicao_submit(admin_client): @pytest.mark.django_db(transaction=False) def test_form_errors_proposicao(admin_client): tipo_autor = mommy.make(TipoAutor, descricao='Teste Tipo_Autor') + user = User.objects.filter(is_active=True)[0] autor = mommy.make( @@ -471,13 +479,17 @@ def test_form_errors_proposicao(admin_client): nome='Autor Teste', grupo_usuario_id=8) + file_content = 'file_content' + texto = SimpleUploadedFile("file.txt", file_content.encode('UTF-8')) + response = admin_client.post(reverse('sapl.materia:proposicao_create'), - {'autor': autor, + {'autor': autor.pk, + 'justificativa_devolucao': ' ', + 'texto_original': texto, 'salvar': 'salvar'}, follow=True) + assert (response.context_data['form'].errors['tipo'] == ['Este campo é obrigatório.']) assert (response.context_data['form'].errors['descricao'] == ['Este campo é obrigatório.']) -======= ->>>>>>> master diff --git a/sapl/materia/views.py b/sapl/materia/views.py index fc5af0842..c6c00dd8a 100644 --- a/sapl/materia/views.py +++ b/sapl/materia/views.py @@ -18,7 +18,8 @@ from django.template import Context, loader from django.utils.encoding import force_bytes from django.utils.http import urlsafe_base64_decode, urlsafe_base64_encode from django.utils.translation import ugettext_lazy as _ -from django.views.generic import CreateView, ListView, TemplateView, UpdateView +from django.views.generic import (CreateView, DetailView, ListView, + TemplateView, UpdateView) from django_filters.views import FilterView from sapl.base.models import CasaLegislativa @@ -396,7 +397,7 @@ class ProposicaoCrud(Crud): def get_initial(self): try: - autor_id = Autor.objects.get(user=self.request.user.id) + autor_id = Autor.objects.get(user=self.request.user.id).id except MultipleObjectsReturned: msg = _('Este usuário está relacionado a mais de um autor. ' + 'Operação cancelada') @@ -436,7 +437,7 @@ class ProposicaoCrud(Crud): permission_required = permissoes_autor() def get_context_data(self, **kwargs): - context = super(UpdateView, self).get_context_data(**kwargs) + context = super(DetailView, self).get_context_data(**kwargs) if self.object.materia: context['form'].fields['tipo_materia'].initial = ( self.object.materia.tipo.id)