Código fonte de tests.integration.test_subscription_controller

import json
import warnings
from unittest.mock import patch

from .utils import *
from legislei import controllers
from legislei.models.relatorio import Parlamentar

[documentos]class TestSubscriptionController(ControllerHelperTester):
[documentos] def test_get_usuarios_inscricoes_sucesso(self): login_header = login_api(self.app, "test", "123") actual = self.app.get("/v1/usuarios/inscricoes", headers=login_header) actual_data = json.loads(actual.data.decode("utf-8")) self.assertEqual(actual.status_code, 200) self.assertIn("ParlamentarTeste", str(actual_data)) self.assertIn("7", str(actual_data))
[documentos] def test_get_usuarios_inscricoes_sem_login(self): actual = self.app.get("/v1/usuarios/inscricoes") actual_data = json.loads(actual.data.decode("utf-8")) self.assertEqual(actual.status_code, 401) self.assertIn("message", actual_data)
[documentos] @patch("legislei.services.inscricoes.obter_parlamentar") def test_post_usuarios_inscricoes_sucesso(self, mock_obter_parlamentar): warnings.simplefilter("ignore") mock_obter_parlamentar.return_value = Parlamentar(id="12345", cargo="BR1") login_header = login_api(self.app, "test", "123") actual = self.app.post( "/v1/usuarios/inscricoes", data=json.dumps({ 'casa': 'BR1', 'parlamentar': '12345' }), content_type='application/json', headers=login_header ) actual_data = json.loads(actual.data.decode("utf-8")) self.assertEqual(actual.status_code, 201) self.assertEqual(actual_data, {"message": "Criada"})
[documentos] def test_post_usuarios_inscricoes_sem_login(self): actual = self.app.post( "/v1/usuarios/inscricoes", data=json.dumps({ 'casa': 'BR1', 'parlamentar': '12345' }), content_type='application/json' ) actual_data = json.loads(actual.data.decode("utf-8")) self.assertEqual(actual.status_code, 401) self.assertIn("message", actual_data)
[documentos] def test_post_usuarios_inscricoes_parametros_ausentes(self): login_header = login_api(self.app, "test", "123") actual = self.app.post( "/v1/usuarios/inscricoes", data=json.dumps({ 'casa': 'BR1', }), content_type='application/json', headers=login_header ) actual_data = json.loads(actual.data.decode("utf-8")) self.assertEqual(actual.status_code, 400) self.assertIn("message", actual_data) self.assertIn("errors", actual_data) self.assertIn("parlamentar", actual_data["errors"])
[documentos] def test_post_usuarios_inscricoes_casa_invalida(self): login_header = login_api(self.app, "test", "123") actual = self.app.post( "/v1/usuarios/inscricoes", data=json.dumps({ 'casa': 'BR3', 'parlamentar': '123' }), content_type='application/json', headers=login_header ) actual_data = json.loads(actual.data.decode("utf-8")) self.assertEqual(actual.status_code, 400) self.assertEqual(actual_data, {'message': 'Id de casa legislativa inválido'})
[documentos] def test_put_usuarios_inscricoes_sucesso(self): login_header = login_api(self.app, "test", "123") actual = self.app.put( "/v1/usuarios/inscricoes", data=json.dumps({'intervalo': 14}), content_type='application/json', headers=login_header ) actual_data = json.loads(actual.data.decode("utf-8")) self.assertEqual(actual.status_code, 200) self.assertEqual(actual_data, {'message': 'Configurações de inscrições atualizadas'})
[documentos] def test_put_usuarios_inscricoes_sem_login(self): actual = self.app.put( "/v1/usuarios/inscricoes", data=json.dumps({'intervalo': 14}), content_type='application/json' ) actual_data = json.loads(actual.data.decode("utf-8")) self.assertEqual(actual.status_code, 401) self.assertIn("message", actual_data)
[documentos] def test_put_usuarios_inscricoes_sem_intervalo(self): actual = self.app.put( "/v1/usuarios/inscricoes", data=json.dumps({}), content_type='application/json' ) actual_data = json.loads(actual.data.decode("utf-8")) self.assertEqual(actual.status_code, 400) self.assertIn("message", actual_data) self.assertIn("errors", actual_data) self.assertIn("intervalo", actual_data["errors"])
[documentos] def test_delete_usuarios_inscricoes_casa_parlamentar_sucesso(self): login_header = login_api(self.app, "test", "123") actual = self.app.delete("/v1/usuarios/inscricoes/BR1/123", headers=login_header) actual_data = json.loads(actual.data.decode("utf-8")) self.assertEqual(actual.status_code, 200) self.assertEqual(actual_data, {'message': 'Inscrição deletada'})
[documentos] def test_delete_usuarios_inscricoes_casa_parlamentar_sem_login(self): actual = self.app.delete("/v1/usuarios/inscricoes/BR1/123") actual_data = json.loads(actual.data.decode("utf-8")) self.assertEqual(actual.status_code, 401) self.assertIn("message", actual_data)
[documentos] def test_delete_usuarios_inscricoes_casa_parlamentar_casa_invalida(self): login_header = login_api(self.app, "test", "123") actual = self.app.delete("/v1/usuarios/inscricoes/BR3/123", headers=login_header) actual_data = json.loads(actual.data.decode("utf-8")) self.assertEqual(actual.status_code, 400) self.assertEqual(actual_data, {'message': 'Id de casa legislativa inválido'})