diff --git a/materia/models.py b/materia/models.py index 84028fe97..94339f0b6 100644 --- a/materia/models.py +++ b/materia/models.py @@ -100,7 +100,7 @@ class AcompanhamentoMateria(models.Model): # AcompMateria verbose_name_plural = _('Acompanhamentos de Matéria') def __str__(self): - return self.materia + return str(self.materia) #FIXME class Anexada(models.Model): @@ -221,7 +221,7 @@ class DocumentoAcessorio(models.Model): def __str__(self): return _('%(tipo)s - %(nome)s de %(data)s por %(autor)s') % { - 'tipo': self.tipo, 'nome': self.nome, 'ano': self.data, 'autor': self.autor} + 'tipo': self.tipo, 'nome': self.nome, 'data': self.data, 'autor': self.autor} class MateriaAssunto(models.Model): diff --git a/parlamentares/models.py b/parlamentares/models.py index 212c74788..82fa4b9f5 100644 --- a/parlamentares/models.py +++ b/parlamentares/models.py @@ -50,7 +50,7 @@ class Coligacao(models.Model): class Meta: verbose_name = _('Coligação') verbose_name_plural = _('Coligações') - + def __str__(self): return self.nome @@ -81,7 +81,7 @@ class ComposicaoColigacao(models.Model): verbose_name_plural = ('Composição Coligações') def __str__ (self): - return self.coligacao + return str(self.coligacao) # FIXME class Municipio(models.Model): # Localidade @@ -283,7 +283,7 @@ class Mandato(models.Model): def __str__ (self): return _(u'%(parlamentar)s %(legislatura)s') % { 'parlamentar': self.parlamentar, 'legislatura': self.legislatura - } + } class CargoMesa(models.Model): diff --git a/pytest.ini b/pytest.ini index 19607b14a..1f4c0d1df 100644 --- a/pytest.ini +++ b/pytest.ini @@ -1,2 +1,9 @@ [pytest] DJANGO_SETTINGS_MODULE=sapl.settings + +# REUSING DATABASE BY DEFAULT (as a performance optimization) +# http://pytest-django.readthedocs.org/en/latest/database.html#example-work-flow-with-reuse-db-and-create-db +# +# Run "py.test --create-db" if you need to recreate the database +# +addopts = --reuse-db diff --git a/sapl/test_general.py b/sapl/test_general.py new file mode 100644 index 000000000..870f89aaf --- /dev/null +++ b/sapl/test_general.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +import pytest +from model_mommy import mommy + +from legacy.migration import appconfs + + +pytestmark = pytest.mark.django_db + + +def test_str_sanity(): + # this simply a sanity check + # __str__ semantics is not considered and should be tested separetely + for app in appconfs: + for model in app.get_models(): + obj = mommy.prepare(model) + try: + str(obj) + except Exception as exc: + msg = '%s.%s.__str__ has is broken.' % ( + model.__module__, model.__name__) + raise AssertionError(msg, exc) from exc diff --git a/sessao/models.py b/sessao/models.py index dbfb603f2..972035e81 100644 --- a/sessao/models.py +++ b/sessao/models.py @@ -163,7 +163,7 @@ class PresencaOrdemDia(models.Model): # OrdemDiaPresenca verbose_name_plural = _('Presenças da Ordem do Dia') def __str__(self): - return self.parlamentar + return str(self.parlamentar) # FIXME class TipoResultadoVotacao(models.Model): @@ -191,7 +191,7 @@ class RegistroVotacao(models.Model): verbose_name_plural = _('Votações') def __str__(self): - return self.materia # XXX ? + return str(self.materia) # FIXME class VotoParlamentar(models.Model): # RegistroVotacaoParlamentar @@ -205,7 +205,7 @@ class VotoParlamentar(models.Model): # RegistroVotacaoParlamentar verbose_name_plural = _('Registros de Votações de Parlamentares') def __str__(self): - return self.parlamentar # XXX ? + return str(self.parlamentar) # FIXME class SessaoPlenariaPresenca(models.Model): @@ -218,4 +218,4 @@ class SessaoPlenariaPresenca(models.Model): verbose_name_plural = _('Presenças em Sessões Plenárias') def __str__(self): - return self.parlamentar # XXX ? + return str(self.parlamentar) # FIXME