Skip to content

Commit

Permalink
Merge pull request #3 from dadosjusbr/testes-mppi
Browse files Browse the repository at this point in the history
adicionando testes para o mppi
  • Loading branch information
danielfireman authored Aug 29, 2024
2 parents 074b154 + 8a95b25 commit b3f7b2d
Show file tree
Hide file tree
Showing 6 changed files with 183 additions and 0 deletions.
16 changes: 16 additions & 0 deletions src/data_test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import data
import unittest


class TestData(unittest.TestCase):
# Usando como exemplo MPPI, que não possui dados de indenizações em 2021
def test_validate_existence(self):
STATUS_DATA_UNAVAILABLE = 4
with self.assertRaises(SystemExit) as cm:
dados = data.Data("2021", "01", "MPPI", "src/output_test/sheets/")
dados.validate()
self.assertEqual(cm.exception.code, STATUS_DATA_UNAVAILABLE)


if __name__ == "__main__":
unittest.main()
138 changes: 138 additions & 0 deletions src/output_test/expected/expected_mppi_09_2022.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
[
{
"idContraCheque": "mppi/09/2022/3",
"chaveColeta": "mppi/09/2022",
"nome": "ALBERTINO RODRIGUES FERREIRA",
"matricula": "16004",
"funcao": "PROMOTOR(A) TURMA RECURSAL-JECC, 20º PROMOTOR(A) DE JUSTIÇA DE TERESINA, COORDENADOR(A) DE NUCLEO",
"localTrabalho": "20ª PROMOTORIA DE JUSTIÇA DE TERESINA, NUCLEO DAS PJ DOS JUIZADOS ESPECIAIS DE TERESINA, 20ª PROMOTORIA DE JUSTIÇA DE TERESINA",
"ativo": true,
"remuneracoes": {
"remuneracao": [
{
"categoria": "REMUNERAÇÃO BÁSICA",
"item": "Remuneração do Cargo Efetivo",
"valor": 33689.11
},
{
"categoria": "REMUNERAÇÃO BÁSICA",
"item": "Outras Verbas Remuneratórias, Legais ou Judiciais",
"valor": 3368.91
},
{
"categoria": "REMUNERAÇÃO EVENTUAL OU TEMPORÁRIA",
"item": "Função de Confiança ou Cargo em Comissão",
"valor": 1684.46
},
{
"categoria": "REMUNERAÇÃO EVENTUAL OU TEMPORÁRIA",
"item": "Gratificação Natalina"
},
{
"categoria": "REMUNERAÇÃO EVENTUAL OU TEMPORÁRIA",
"item": "Férias Constitucionais"
},
{
"categoria": "REMUNERAÇÃO EVENTUAL OU TEMPORÁRIA",
"item": "Abono de Permanência",
"valor": 4716.48
},
{
"natureza": "D",
"categoria": "OBRIGATÓRIOS/LEGAIS",
"item": "Contribuição Previdenciária",
"valor": -4716.48
},
{
"natureza": "D",
"categoria": "OBRIGATÓRIOS/LEGAIS",
"item": "Imposto de Renda",
"valor": -8858.37
},
{
"natureza": "D",
"categoria": "OBRIGATÓRIOS/LEGAIS",
"item": "Retenção por Teto Constitucional"
},
{
"categoria": "VERBAS INDENIZATÓRIAS E OUTRAS REMUNERAÇÕES TEMPORÁRIAS",
"item": "AUXÍLIO ALIMENTAÇÃO",
"valor": 1923.52,
"tipoReceita": "O"
},
{
"categoria": "VERBAS INDENIZATÓRIAS E OUTRAS REMUNERAÇÕES TEMPORÁRIAS",
"item": "AUXÍLIO SAÚDE",
"tipoReceita": "O"
},
{
"categoria": "VERBAS INDENIZATÓRIAS E OUTRAS REMUNERAÇÕES TEMPORÁRIAS",
"item": "ABONO PECUNIÁRIO",
"tipoReceita": "O"
},
{
"categoria": "VERBAS INDENIZATÓRIAS E OUTRAS REMUNERAÇÕES TEMPORÁRIAS",
"item": "INDENIZAÇÃO POR CUMULAÇÃO",
"tipoReceita": "O"
},
{
"categoria": "VERBAS INDENIZATÓRIAS E OUTRAS REMUNERAÇÕES TEMPORÁRIAS",
"item": "COMPLEMENTO POR ENTRÂNCIA",
"tipoReceita": "O"
}
]
}
},
{
"idContraCheque": "mppi/09/2022/4",
"chaveColeta": "mppi/09/2022",
"nome": "ALFREDO ALBERTO LEAL NUNES",
"matricula": "17031",
"ativo": true,
"remuneracoes": {
"remuneracao": [
{
"categoria": "REMUNERAÇÃO BÁSICA",
"item": "Remuneração do Cargo Efetivo",
"valor": 35462.22
},
{
"categoria": "REMUNERAÇÃO BÁSICA",
"item": "Outras Verbas Remuneratórias, Legais ou Judiciais"
},
{
"categoria": "REMUNERAÇÃO EVENTUAL OU TEMPORÁRIA",
"item": "Função de Confiança ou Cargo em Comissão"
},
{
"categoria": "REMUNERAÇÃO EVENTUAL OU TEMPORÁRIA",
"item": "Gratificação Natalina"
},
{
"categoria": "REMUNERAÇÃO EVENTUAL OU TEMPORÁRIA",
"item": "Férias Constitucionais"
},
{
"categoria": "REMUNERAÇÃO EVENTUAL OU TEMPORÁRIA",
"item": "Abono de Permanência"
},
{
"natureza": "D",
"categoria": "OBRIGATÓRIOS/LEGAIS",
"item": "Contribuição Previdenciária",
"valor": -5251.27
},
{
"natureza": "D",
"categoria": "OBRIGATÓRIOS/LEGAIS",
"item": "Imposto de Renda"
},
{
"natureza": "D",
"categoria": "OBRIGATÓRIOS/LEGAIS",
"item": "Retenção por Teto Constitucional"
}
]
}
}
]
Binary file not shown.
Binary file not shown.
Binary file not shown.
29 changes: 29 additions & 0 deletions src/parser_test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
from parser import parse
import unittest
import json
from google.protobuf.json_format import MessageToDict
import data


class TestParser(unittest.TestCase):
# Nem todos os membros do MPPI possuem cargo e lotação,
# verificamos se a listagem dos dados dos membros e rubricas estão corretas
def test_mppi_09_2022(self):
self.maxDiff = None
# Json com a saida esperada
with open("src/output_test/expected/expected_mppi_09_2022.json", "r") as fp:
expected_09_2022 = json.load(fp)

files = [
"src/output_test/sheets/MPPI-contracheques-09-2022.ods",
"src/output_test/sheets/MPPI-indenizacoes-09-2022.ods",
]

dados = data.Data("2022", "09", "MPPI", "src/output_test/sheets")
dados = data.load(files, dados)
result_data = parse(dados, "mppi/09/2022")

# Converto o resultado do parser, em dict
result_to_dict = MessageToDict(result_data)

self.assertEqual(expected_09_2022, result_to_dict["contraCheque"][2:4])

0 comments on commit b3f7b2d

Please sign in to comment.