示例#1
0
    def test_get_event_program_fail_case(self):
        mock = Mocker(self.dep.ev)
        mock.add_exception("obterPautaEvento", CamaraDeputadosError, "12345")

        actual_response = self.dep.get_event_program("12345")

        self.assertEqual(actual_response, [{'error': True}])
        mock.assert_no_pending_responses()
    def test_obter_parlamentar_invalid_id(self):
        mock = Mocker(self.dep.dep)
        mock.add_exception('obterDeputado',
                           CamaraDeputadosConnectionError("url", 400))

        actual_response = self.dep.obter_parlamentar("invalid")

        self.assertIsNone(actual_response)
示例#3
0
    def test_get_expected_events_fail_case(self):
        mock = Mocker(self.dep.dep)
        mock.add_exception("obterEventosDeputado", CamaraDeputadosError)

        actual_response = self.dep.get_expected_events("123",
                                                       datetime(2018, 10, 28))

        self.assertEqual(actual_response, [{'id': None}])
        mock.assert_no_pending_responses()
示例#4
0
    def test_get_commissions_fail_case(self):
        mock = Mocker(self.dep.dep)
        mock.add_exception('obterOrgaosDeputado',
                           CamaraDeputadosError('teste'))

        actual_response = self.dep.get_commissions('1234',
                                                   datetime(2018, 10, 28))

        self.assertEqual(actual_response, [{'nomeOrgao': None}])
        mock.assert_no_pending_responses()
示例#5
0
    def test_get_votes_fail_case(self):
        mock = Mocker(self.dep.prop)
        mock.add_exception("obterVotacoesProposicao", CamaraDeputadosError)

        actual_response = self.dep.get_votes('12345',
                                             proposition={
                                                 'tipo': 'PL',
                                                 'numero': '1',
                                                 'ano': '2019'
                                             },
                                             event_dates={
                                                 'data_inicial':
                                                 datetime(2019, 5, 12, 10),
                                                 'data_final':
                                                 datetime(2019, 5, 12, 14)
                                             })

        self.assertIsNone(actual_response[0])
        self.assertIsNone(actual_response[1])
        mock.assert_no_pending_responses()
    def test_add_attended_events(self):
        events_attended = [
            Evento(id='3',
                   data_inicial=self.dep.helper.get_brt(datetime(2019, 12,
                                                                 10)),
                   data_final=self.dep.helper.get_brt(datetime(2019, 12, 17))),
            Evento(id='4',
                   data_inicial=self.dep.helper.get_brt(datetime(2019, 12,
                                                                 10)),
                   data_final=self.dep.helper.get_brt(datetime(2019, 12, 17)))
        ]
        mock_ev = Mocker(self.dep.helper.ev)
        mock_prop = Mocker(self.dep.helper.prop)
        mock_ev.add_response("obterPautaEvento", [
            {
                'codRegime': '123',
                'proposicao_': {
                    'id': '11'
                }
            },
            {
                'codRegime': '123',
                'proposicao_': {
                    'id': '12'
                }
            },
        ])
        mock_ev.add_exception("obterPautaEvento", CamaraDeputadosError)
        mock_prop.add_response(
            "obterProposicao", {
                'id': '11',
                'nome': 'Proposição I',
                'ementa': 'Proposição I',
                'numero': '11',
                'ano': 2019
            })
        mock_prop.add_exception("obterProposicao", CamaraDeputadosError)
        mock_prop.add_response("obterVotacoesProposicao", [{
            'data':
            '15/12/2019',
            'hora':
            '12:00',
            'resumo':
            'Votação 1',
            'votos': [
                {
                    'id': '23456',
                    'voto': 'Não'
                },
                {
                    'id': '12345',
                    'voto': 'Sim'
                },
                {
                    'id': '34567',
                    'voto': 'Abstenção'
                },
            ]
        }])
        mock_prop.add_response("obterVotacoesProposicao", [{
            'data':
            '16/12/2019',
            'hora':
            '12:00',
            'resumo':
            'Votação 2',
            'votos': [
                {
                    'id': '23456',
                    'voto': 'Sim'
                },
                {
                    'id': '12345',
                    'voto': 'Não'
                },
                {
                    'id': '34567',
                    'voto': 'Abstenção'
                },
            ]
        }])
        self.dep.relatorio = Relatorio(parlamentar=Parlamentar(id='12345'))

        self.dep._add_attended_events(events_attended)

        self.assertEqual(self.dep.relatorio.eventos_presentes, [
            Evento(id='3',
                   data_inicial=self.dep.helper.get_brt(datetime(2019, 12,
                                                                 10)),
                   data_final=self.dep.helper.get_brt(datetime(2019, 12, 17)),
                   presenca=0,
                   pautas=[
                       Proposicao(id='11',
                                  numero='11',
                                  ementa='Proposição I',
                                  pauta='Votação 1 de Proposição I',
                                  voto='Sim')
                   ]),
            Evento(id='4',
                   data_inicial=self.dep.helper.get_brt(datetime(2019, 12,
                                                                 10)),
                   data_final=self.dep.helper.get_brt(datetime(2019, 12, 17)),
                   presenca=0,
                   pautas=[])
        ])
示例#7
0
    def test_get_event_program(self, ):
        ev_id = '1234'
        mock_ev = Mocker(self.dep.ev)
        mock_ev.add_response("obterPautaEvento", [
            {
                'codRegime': '123',
                'proposicao_': {
                    'id': '12345'
                }
            },
            {
                'codRegime': '123',
                'proposicao_': {
                    'id': '12345'
                }
            },
            {
                'codRegime': '987',
                'proposicao_': {
                    'id': '98765'
                }
            },
            {
                'codRegime': '987',
                'proposicao_': {
                    'id': '56789'
                }
            },
        ], ev_id)
        mock_prop = Mocker(self.dep.prop)
        mock_prop.add_response("obterProposicao", {'nome': 'Proposição I'},
                               "12345")
        mock_prop.add_response("obterProposicao", {'nome': 'Proposição II'},
                               "98765")
        mock_prop.add_exception("obterProposicao", CamaraDeputadosError,
                                "56789")

        actual_response = self.dep.get_event_program(ev_id)

        self.assertEqual(actual_response, [
            {
                'codRegime': '123',
                'proposicao_': {
                    'id': '12345'
                },
                'proposicao_detalhes': {
                    'nome': 'Proposição I'
                }
            },
            {
                'codRegime': '987',
                'proposicao_': {
                    'id': '98765'
                },
                'proposicao_detalhes': {
                    'nome': 'Proposição II'
                }
            },
            {
                'codRegime': '987',
                'proposicao_': {
                    'id': '56789'
                },
                'proposicao_detalhes': [{
                    'error': True
                }]
            },
        ])

        mock_ev.assert_no_pending_responses()
        mock_prop.assert_no_pending_responses()