Browse Source

Adiciona teste em mandato, filiação e dependente

pull/285/head
Eduardo Edson Batista Cordeiro Alves 9 years ago
parent
commit
ab4465ca40
  1. 2
      parlamentares/forms.py
  2. 5
      parlamentares/models.py
  3. 124
      parlamentares/test_parlamentares.py
  4. 28
      parlamentares/views.py

2
parlamentares/forms.py

@ -165,7 +165,7 @@ class MandatoForm(ModelForm):
legislatura = forms.ModelChoiceField(
label=_('Legislatura'),
required=False,
required=True,
queryset=Legislatura.objects.all().order_by('-data_inicio'),
empty_label='----------',
)

5
parlamentares/models.py

@ -338,12 +338,11 @@ class Mandato(models.Model):
Coligacao, blank=True, null=True, verbose_name=_('Coligação'))
# TODO what is this field??????
tipo_causa_fim_mandato = models.PositiveIntegerField(blank=True, null=True)
data_fim_mandato = models.DateField(
blank=True, null=True, verbose_name=_('Fim do Mandato'))
data_fim_mandato = models.DateField(verbose_name=_('Fim do Mandato'))
votos_recebidos = models.PositiveIntegerField(
blank=True, null=True, verbose_name=_('Votos Recebidos'))
data_expedicao_diploma = models.DateField(
blank=True, null=True, verbose_name=_('Expedição do Diploma'))
verbose_name=_('Expedição do Diploma'))
observacao = models.TextField(
blank=True, verbose_name=_('Observação'))

124
parlamentares/test_parlamentares.py

@ -2,7 +2,8 @@ import pytest
from django.core.urlresolvers import reverse
from model_mommy import mommy
from .models import Legislatura, Parlamentar
from .models import (Dependente, Filiacao, Legislatura, Mandato, Parlamentar,
Partido, TipoDependente)
@pytest.mark.django_db(transaction=False)
@ -22,3 +23,124 @@ def test_cadastro_parlamentar(client):
assert "Terezinha" == parlamentar.nome_parlamentar
if not parlamentar.ativo:
pytest.fail("Parlamentar deve estar ativo")
@pytest.mark.django_db(transaction=False)
def test_filiacao_submit(client):
mommy.make(Parlamentar, pk=14)
mommy.make(Partido, pk=32)
client.post(reverse('parlamentares_filiacao',
kwargs={'pk': 14}),
{'partido': 32,
'data': '2016-03-22',
'salvar': 'salvar'},
follow=True)
filiacao = Filiacao.objects.first()
assert 32 == filiacao.partido.pk
@pytest.mark.django_db(transaction=False)
def test_dependente_submit(client):
mommy.make(Parlamentar, pk=14)
mommy.make(Partido, pk=32)
mommy.make(TipoDependente, pk=3)
client.post(reverse('parlamentares_dependentes',
kwargs={'pk': 14}),
{'nome': 'Eduardo',
'tipo': 3,
'sexo': 'M',
'salvar': 'salvar'},
follow=True)
dependente = Dependente.objects.first()
assert 3 == dependente.tipo.pk
assert 'Eduardo' == dependente.nome
@pytest.mark.django_db(transaction=False)
def test_form_errors_dependente(client):
mommy.make(Parlamentar, pk=14)
response = client.post(reverse('parlamentares_dependentes',
kwargs={'pk': 14}),
{'salvar': 'salvar'},
follow=True)
assert (response.context_data['form'].errors['nome'] ==
['Este campo é obrigatório.'])
assert (response.context_data['form'].errors['tipo'] ==
['Este campo é obrigatório.'])
assert (response.context_data['form'].errors['sexo'] ==
['Este campo é obrigatório.'])
@pytest.mark.django_db(transaction=False)
def test_form_errors_filiacao(client):
mommy.make(Parlamentar, pk=14)
response = client.post(reverse('parlamentares_filiacao',
kwargs={'pk': 14}),
{'partido': '',
'salvar': 'salvar'},
follow=True)
assert (response.context_data['form'].errors['partido'] ==
['Este campo é obrigatório.'])
assert (response.context_data['form'].errors['data'] ==
['Este campo é obrigatório.'])
@pytest.mark.django_db(transaction=False)
def test_mandato_submit(client):
mommy.make(Parlamentar, pk=14)
mommy.make(Legislatura, pk=5)
client.post(reverse('parlamentares_mandato',
kwargs={'pk': 14}),
{'legislatura': 5,
'data_fim_mandato': '2016-01-01',
'data_expedicao_diploma': '2016-03-22',
'observacao': 'Observação do mandato',
'salvar': 'salvar'},
follow=True)
mandato = Mandato.objects.first()
assert 'Observação do mandato' == mandato.observacao
@pytest.mark.django_db(transaction=False)
def test_form_errors_mandato(client):
mommy.make(Parlamentar, pk=14)
response = client.post(reverse('parlamentares_mandato',
kwargs={'pk': 14}),
{'legislatura': '',
'salvar': 'salvar'},
follow=True)
assert (response.context_data['form'].errors['legislatura'] ==
['Este campo é obrigatório.'])
assert (response.context_data['form'].errors['data_fim_mandato'] ==
['Este campo é obrigatório.'])
assert (response.context_data['form'].errors['data_expedicao_diploma'] ==
['Este campo é obrigatório.'])
@pytest.mark.django_db(transaction=False)
def test_incluir_parlamentar_errors(client):
mommy.make(Legislatura, pk=5)
response = client.post(reverse('parlamentares_cadastro',
kwargs={'pk': 5}),
{'salvar': 'salvar'},
follow=True)
assert (response.context_data['form'].errors['nome_parlamentar'] ==
['Este campo é obrigatório.'])
assert (response.context_data['form'].errors['nome_completo'] ==
['Este campo é obrigatório.'])
assert (response.context_data['form'].errors['sexo'] ==
['Este campo é obrigatório.'])
assert (response.context_data['form'].errors['ativo'] ==
['Este campo é obrigatório.'])

28
parlamentares/views.py

@ -232,11 +232,16 @@ class ParlamentaresDependentesView(CreateView):
parlamentar = Parlamentar.objects.get(pk=pk)
dependentes = Dependente.objects.filter(
parlamentar=parlamentar).order_by('nome', 'tipo')
if len(parlamentar.mandato_set.all()) == 0:
legislatura_id = 0
else:
legislatura_id = parlamentar.mandato_set.last().legislatura.id
context.update({'object': parlamentar,
'dependentes': dependentes,
# precisa de legislatura_id???
'legislatura_id':
parlamentar.mandato_set.last().legislatura.id})
'legislatura_id': legislatura_id})
return context
def form_valid(self, form):
@ -405,10 +410,16 @@ class FiliacaoView(CreateView):
pid = self.kwargs['pk']
parlamentar = Parlamentar.objects.get(id=pid)
filiacoes = Filiacao.objects.filter(parlamentar=parlamentar)
if len(parlamentar.mandato_set.all()) == 0:
legislatura_id = 0
else:
legislatura_id = parlamentar.mandato_set.last().legislatura.id
context.update(
{'object': parlamentar,
'filiacoes': filiacoes,
'legislatura_id': parlamentar.mandato_set.last().legislatura.id})
'legislatura_id': legislatura_id})
return context
def form_valid(self, form):
@ -471,12 +482,17 @@ class MandatoView(CreateView):
context = super(MandatoView, self).get_context_data(**kwargs)
pid = self.kwargs['pk']
parlamentar = Parlamentar.objects.get(id=pid)
mandatos = Mandato.objects.filter(
parlamentar=parlamentar)
mandatos = Mandato.objects.filter(parlamentar=parlamentar)
if len(parlamentar.mandato_set.all()) == 0:
legislatura_id = 0
else:
legislatura_id = parlamentar.mandato_set.last().legislatura.id
context.update(
{'object': parlamentar,
'mandatos': mandatos,
'legislatura_id': parlamentar.mandato_set.last().legislatura.id
'legislatura_id': legislatura_id
}
)
return context

Loading…
Cancel
Save