diff --git a/pytest.ini b/pytest.ini index 12ce443ad..d67aa04f7 100644 --- a/pytest.ini +++ b/pytest.ini @@ -2,6 +2,8 @@ DJANGO_SETTINGS_MODULE=sapl.settings norecursedirs = legacy crud +python_files = tests.py test_*.py *_tests.py + # 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 # diff --git a/sapl/redireciona_urls/tests.py b/sapl/redireciona_urls/tests.py index 1e05751d9..ee8b84d87 100644 --- a/sapl/redireciona_urls/tests.py +++ b/sapl/redireciona_urls/tests.py @@ -1,9 +1,9 @@ from django.core.urlresolvers import reverse from django.test import TestCase + class RedirecionaURLsTests(TestCase): def test_redireciona_index_SAPL(self): - # import ipdb; ipdb.set_trace() response = self.client.get(reverse( 'sapl.redireciona_urls:redireciona_sapl_index') ) @@ -11,9 +11,12 @@ class RedirecionaURLsTests(TestCase): self.assertEqual(response.status_code, 301) self.assertEqual(response.url, url_e) + +class RedirecionaParlamentarTests(TestCase): + url_pattern = 'sapl.redireciona_urls:redireciona_parlamentar' + def test_redireciona_parlamentar_list(self): - # import ipdb; ipdb.set_trace() - url = reverse('sapl.redireciona_urls:redireciona_parlamentar') + url = reverse(self.url_pattern) url_e = reverse('sapl.parlamentares:parlamentar_list') response = self.client.get(url) self.assertEqual(response.status_code, 301) @@ -22,7 +25,7 @@ class RedirecionaURLsTests(TestCase): def test_redireciona_parlamentar_list_por_legislatura(self): numero_legislatura = 123 - url = reverse('sapl.redireciona_urls:redireciona_parlamentar') + url = reverse(self.url_pattern) url_e = reverse('sapl.parlamentares:parlamentar_list') url = "%s%s" % ( @@ -37,7 +40,7 @@ class RedirecionaURLsTests(TestCase): self.assertEqual(response.url, url_e) def test_redireciona_parlamentar_detail(self): - url = reverse('sapl.redireciona_urls:redireciona_parlamentar') + url = reverse(self.url_pattern) pk_parlamentar = 21 url = "%s%s" % (url, "?cod_parlamentar=%s" % (pk_parlamentar)) url_e = reverse( @@ -49,8 +52,11 @@ class RedirecionaURLsTests(TestCase): self.assertEqual(response.url, url_e) +class RedirecionaComissaoTests(TestCase): + url_pattern = 'sapl.redireciona_urls:redireciona_comissao' + def test_redireciona_comissao_detail(self): - url = reverse('sapl.redireciona_urls:redireciona_comissao') + url = reverse(self.url_pattern) pk_comissao = 21 url = "%s%s" % (url, "?cod_comissao=%s" % (pk_comissao)) url_e = reverse( @@ -61,9 +67,8 @@ class RedirecionaURLsTests(TestCase): self.assertEqual(response.status_code, 301) self.assertEqual(response.url, url_e) - def test_redireciona_comissao_list(self): - url = reverse('sapl.redireciona_urls:redireciona_comissao') + url = reverse(self.url_pattern) url_e = reverse( 'sapl.comissoes:comissao_list') response = self.client.get(url) @@ -71,13 +76,253 @@ class RedirecionaURLsTests(TestCase): self.assertEqual(response.url, url_e) - # def test_redireciona_comissao_list(self): - # url = reverse('sapl.redireciona_urls:redireciona_comissao') - # url_e = reverse( - # 'sapl.comissoes:comissao_list') - # response = self.client.get(url) - # self.assertEqual(response.status_code, 301) - # self.assertEqual(response.url, url_e) +class RedirecionaPautaSessaoTests(TestCase): + url_pattern = 'sapl.redireciona_urls:redireciona_pauta_sessao_' + + def test_redireciona_pauta_sessao_detail(self): + url = reverse(self.url_pattern) + pk_pauta_sessao = 21 + url = "%s%s" % (url, "?cod_sessao_plen=%s" % (pk_pauta_sessao)) + url_e = reverse( + 'sapl.sessao:pauta_sessao_detail', + kwargs = {'pk': pk_pauta_sessao} + ) + response = self.client.get(url) + self.assertEqual(response.status_code, 301) + self.assertEqual(response.url, url_e) + + def test_redireciona_pauta_sessao_list(self): + url = reverse(self.url_pattern) + url_e = reverse( 'sapl.sessao:pesquisar_pauta') + + response = self.client.get(url) + + self.assertEqual(response.status_code, 301) + self.assertEqual(response.url, url_e) + + def test_redireciona_pauta_sessao_list_por_dat_sessao_sel(self): + + url = reverse(self.url_pattern) + + ano_s_p = "2016" + mes_s_p = "05" + dia_s_p = "14" + data_s_p = "%s/%s/%s" % (dia_s_p, mes_s_p, ano_s_p) + + url = "%s%s" % (url, "?dat_sessao_sel=%s" % data_s_p) + + url_e = reverse( 'sapl.sessao:pesquisar_pauta') + + args_e = '' + args_e += "?data_inicio__year=%s" % (ano_s_p) + args_e += "&data_inicio__month=%s" % (mes_s_p.lstrip("0")) + args_e += "&data_inicio__day=%s" % (dia_s_p.lstrip("0")) + args_e += "&tipo=&salvar=Pesquisar" + + url_e = "%s%s" % (url_e, args_e) + + response = self.client.get(url) + + self.assertEqual(response.status_code, 301) + self.assertEqual(response.url, url_e) + + +class RedirecionaMesaDiretoraTests(TestCase): + url_pattern = 'sapl.redireciona_urls:redireciona_mesa_diretora' + + def test_redireciona_mesa_diretora(self): + url = reverse(self.url_pattern) + url_e = reverse('sapl.parlamentares:mesa_diretora') + + response = self.client.get(url) + + self.assertEqual(response.status_code, 301) + self.assertEqual(response.url, url_e) + + +class RedirecionaMesaDiretoraParlamentarTests(TestCase): + url_pattern = 'sapl.redireciona_urls:redireciona_mesa_diretora_parlamentar' + + def test_redireciona_mesa_diretora_parlamentar(self): + url = reverse(self.url_pattern) + pk_parlamentar = 21 + url = "%s%s" % (url, "?cod_parlamentar=%s" % (pk_parlamentar)) + url_e = reverse( + 'sapl.parlamentares:parlamentar_detail', + kwargs = {'pk': pk_parlamentar} + ) + + response = self.client.get(url) + + self.assertEqual(response.status_code, 301) + self.assertEqual(response.url, url_e) + + +class RedirecionaSessaoPlenariaTests(TestCase): + url_pattern = 'sapl.redireciona_urls:redireciona_sessao_plenaria_' + + def test_redireciona_sessao_plenaria_detail(self): + url = reverse(self.url_pattern) + pk_sessao_plenaria = 258 + url = "%s%s" % (url, "?cod_sessao_plen=%s" % (pk_sessao_plenaria)) + url_e = reverse( + 'sapl.sessao:sessaoplenaria_detail', + kwargs = {'pk': pk_sessao_plenaria} + ) + + response = self.client.get(url) + + self.assertEqual(response.status_code, 301) + self.assertEqual(response.url, url_e) + + def test_redireciona_sessao_plenaria_list_sem_parametro(self): + url = reverse(self.url_pattern) + url_e = reverse( 'sapl.sessao:pesquisar_sessao') + + year = '' + month = '' + day = '' + tipo_sessao = '' + + args = '' + args += "?ano_sessao_sel=%s" % (year) + args += "&mes_sessao_sel=%s" % (month) + args += "&dia_sessao_sel=%s" % (day) + args += "&tip_sessao_sel=%s" % (tipo_sessao) + url = "%s%s" % (url, args) + # Remove zeros à esquerda + day = day.lstrip("0") + month = month.lstrip("0") + args_e = '' + args_e += "?data_inicio__year=%s" % (year) + args_e += "&data_inicio__month=%s" % (month) + args_e += "&data_inicio__day=%s" % (day) + args_e += "&tipo=%s&salvar=Pesquisar" % (tipo_sessao) + url_e = "%s%s" % (url_e, args_e) + response = self.client.get(url) + self.assertEqual(response.status_code, 301) + self.assertEqual(response.url, url_e) + + def test_redireciona_sessao_plenaria_list_sem_tipo(self): # import ipdb; ipdb.set_trace() + url = reverse(self.url_pattern) + url_e = reverse( 'sapl.sessao:pesquisar_sessao') + + year = '2015' + month = '04' + day = '06' + tipo_sessao = '' + + args = '' + args += "?ano_sessao_sel=%s" % (year) + args += "&mes_sessao_sel=%s" % (month) + args += "&dia_sessao_sel=%s" % (day) + args += "&tip_sessao_sel=%s" % (tipo_sessao) + url = "%s%s" % (url, args) + + # Remove zeros à esquerda + day = day.lstrip("0") + month = month.lstrip("0") + args_e = '' + args_e += "?data_inicio__year=%s" % (year) + args_e += "&data_inicio__month=%s" % (month) + args_e += "&data_inicio__day=%s" % (day) + args_e += "&tipo=%s&salvar=Pesquisar" % (tipo_sessao) + url_e = "%s%s" % (url_e, args_e) + + response = self.client.get(url) + self.assertEqual(response.status_code, 301) + self.assertEqual(response.url, url_e) + + def test_redireciona_sessao_plenaria_list_sem_tipo_e_ano(self): + # import ipdb; ipdb.set_trace() + url = reverse(self.url_pattern) + url_e = reverse( 'sapl.sessao:pesquisar_sessao') + + year = '' + month = '04' + day = '06' + tipo_sessao = '' + + args = '' + args += "?ano_sessao_sel=%s" % (year) + args += "&mes_sessao_sel=%s" % (month) + args += "&dia_sessao_sel=%s" % (day) + args += "&tip_sessao_sel=%s" % (tipo_sessao) + url = "%s%s" % (url, args) + + # Remove zeros à esquerda + day = day.lstrip("0") + month = month.lstrip("0") + args_e = '' + args_e += "?data_inicio__year=%s" % (year) + args_e += "&data_inicio__month=%s" % (month) + args_e += "&data_inicio__day=%s" % (day) + args_e += "&tipo=%s&salvar=Pesquisar" % (tipo_sessao) + url_e = "%s%s" % (url_e, args_e) + + response = self.client.get(url) + self.assertEqual(response.status_code, 301) + self.assertEqual(response.url, url_e) + + def test_redireciona_sessao_plenaria_list_sem_ano(self): + # import ipdb; ipdb.set_trace() + url = reverse(self.url_pattern) + url_e = reverse( 'sapl.sessao:pesquisar_sessao') + + year = '' + month = '04' + day = '06' + tipo_sessao = '4' + + args = '' + args += "?ano_sessao_sel=%s" % (year) + args += "&mes_sessao_sel=%s" % (month) + args += "&dia_sessao_sel=%s" % (day) + args += "&tip_sessao_sel=%s" % (tipo_sessao) + url = "%s%s" % (url, args) + + # Remove zeros à esquerda + day = day.lstrip("0") + month = month.lstrip("0") + args_e = '' + args_e += "?data_inicio__year=%s" % (year) + args_e += "&data_inicio__month=%s" % (month) + args_e += "&data_inicio__day=%s" % (day) + args_e += "&tipo=%s&salvar=Pesquisar" % (tipo_sessao) + url_e = "%s%s" % (url_e, args_e) + response = self.client.get(url) + self.assertEqual(response.status_code, 301) + self.assertEqual(response.url, url_e) + + def test_redireciona_sessao_plenaria_list_sem_mes_dia(self): + # import ipdb; ipdb.set_trace() + url = reverse(self.url_pattern) + url_e = reverse( 'sapl.sessao:pesquisar_sessao') + + year = '2015' + month = '' + day = '' + tipo_sessao = '4' + + args = '' + args += "?ano_sessao_sel=%s" % (year) + args += "&mes_sessao_sel=%s" % (month) + args += "&dia_sessao_sel=%s" % (day) + args += "&tip_sessao_sel=%s" % (tipo_sessao) + url = "%s%s" % (url, args) + + # Remove zeros à esquerda + day = day.lstrip("0") + month = month.lstrip("0") + args_e = '' + args_e += "?data_inicio__year=%s" % (year) + args_e += "&data_inicio__month=%s" % (month) + args_e += "&data_inicio__day=%s" % (day) + args_e += "&tipo=%s&salvar=Pesquisar" % (tipo_sessao) + url_e = "%s%s" % (url_e, args_e) + response = self.client.get(url) + self.assertEqual(response.status_code, 301) + self.assertEqual(response.url, url_e) diff --git a/sapl/redireciona_urls/urls.py b/sapl/redireciona_urls/urls.py index d1f0ab382..04887a171 100644 --- a/sapl/redireciona_urls/urls.py +++ b/sapl/redireciona_urls/urls.py @@ -29,7 +29,7 @@ urlpatterns = [ url(r'^consultas/pauta_sessao/pauta_sessao_', RedirecionaPautaSessao.as_view(), name='redireciona_pauta_sessao_'), - url(r'^consultas/mesa_diretora/', + url(r'^consultas/mesa_diretora/mesa_diretora_index_html', RedirecionaMesaDiretoraView.as_view(), name='redireciona_mesa_diretora'), url(r'^consultas/mesa_diretora/parlamentar/parlamentar_', diff --git a/sapl/redireciona_urls/views.py b/sapl/redireciona_urls/views.py index 9353eeba2..c2cf8a611 100644 --- a/sapl/redireciona_urls/views.py +++ b/sapl/redireciona_urls/views.py @@ -46,6 +46,7 @@ class RedirecionaSAPLIndex(RedirectView): raise UnknownUrlNameError(url_pattern) return url + class RedirecionaParlamentar(RedirectView): permanent = True @@ -99,10 +100,10 @@ class RedirecionaPautaSessao(RedirectView): permanent = True def get_redirect_url(self): - pk = self.request.GET.get('cod_sessao_plen', '') + pk_sessao_plenaria = self.request.GET.get('cod_sessao_plen', '') - if pk: - kwargs = {'pk': pk} + if pk_sessao_plenaria: + kwargs = {'pk': pk_sessao_plenaria} try: url = reverse(pauta_sessao_detail, kwargs=kwargs) except NoReverseMatch: @@ -112,19 +113,20 @@ class RedirecionaPautaSessao(RedirectView): url = reverse(pauta_sessao_list) except NoReverseMatch: raise UnknownUrlNameError(pauta_sessao_list) - pk = self.request.GET.get('dat_sessao_sel', '') - args = '' - if pk: - day, month, year = pk.split('/') - # Remove zeros à esquerda - day = day.lstrip("0") - month = month.lstrip("0") - args = "?data_inicio__year=%s" % (year) - args += "&data_inicio__month=%s" % (month) - args += "&data_inicio__day=%s" % (day) - args += "&tipo=&salvar=Pesquisar" + data_sessao_plenaria = self.request.GET.get('dat_sessao_sel', '') + + if data_sessao_plenaria: + dia_s_p, mes_s_p, ano_s_p = data_sessao_plenaria.split('/') + # Remove zeros à esquerda de dia_s_p e mes_s_p + dia_s_p = dia_s_p.lstrip("0") + mes_s_p = mes_s_p.lstrip("0") + args = '' + args += "?data_inicio__year=%s" % (ano_s_p) + args += "&data_inicio__month=%s" % (mes_s_p) + args += "&data_inicio__day=%s" % (dia_s_p) + args += "&tipo=&salvar=Pesquisar" url = "%s%s" % (url, args) return url @@ -134,10 +136,10 @@ class RedirecionaSessaoPlenaria(RedirectView): permanent = True def get_redirect_url(self): - pk = self.request.GET.get('cod_sessao_plen', '') + pk_sessao_plenaria = self.request.GET.get('cod_sessao_plen', '') url = '' - if pk: - kwargs = {'pk': pk} + if pk_sessao_plenaria: + kwargs = {'pk': pk_sessao_plenaria} try: url = reverse(sessao_plenaria_detail, kwargs=kwargs) except NoReverseMatch: @@ -150,26 +152,19 @@ class RedirecionaSessaoPlenaria(RedirectView): raise UnknownUrlNameError(sessao_plenaria_list) year = self.request.GET.get('ano_sessao_sel', '') - month = '' - day = '' - - if year: - month = self.request.GET.get('mes_sessao_sel', '') - if month: - day = self.request.GET.get('dia_sessao_sel', '') - + month = self.request.GET.get('mes_sessao_sel', '') + day = self.request.GET.get('dia_sessao_sel', '') tipo_sessao = self.request.GET.get('tip_sessao_sel', '') - if tipo_sessao or year: - # Remove zeros à esquerda - day = day.lstrip("0") - month = month.lstrip("0") - args = '' - args += "?data_inicio__year=%s" % (year) - args += "&data_inicio__month=%s" % (month) - args += "&data_inicio__day=%s" % (day) - args += "&tipo=%s&salvar=Pesquisar" % (tipo_sessao) - url = "%s%s" % (url, args) + # Remove zeros à esquerda + day = day.lstrip("0") + month = month.lstrip("0") + args = '' + args += "?data_inicio__year=%s" % (year) + args += "&data_inicio__month=%s" % (month) + args += "&data_inicio__day=%s" % (day) + args += "&tipo=%s&salvar=Pesquisar" % (tipo_sessao) + url = "%s%s" % (url, args) return url diff --git a/sapl/test_urls.py b/sapl/test_urls.py index 889070af2..733103616 100644 --- a/sapl/test_urls.py +++ b/sapl/test_urls.py @@ -183,7 +183,7 @@ apps_url_patterns_prefixs_and_users = { '/relatorios_administrativos/tramitacaoMaterias/tramitacaoMaterias', '/relatorios_administrativos/tramitacaoMaterias/materia_mostrar_proc', '/generico/materia_pesquisar_', - '/consultas/mesa_diretora/', + '/consultas/mesa_diretora/mesa_diretora_index_html', '/consultas/mesa_diretora/parlamentar/parlamentar_', ]}, 'lexml': {