feat(tests): adicionar testes para filtro E_CONSULTOR e RankingStore

- Adicionar campo e_consultor nos testes de processar_ranking
- Adicionar testes de inserção com E_CONSULTOR no ranking_repository
- Criar test_ranking_store.py com testes de filtro ativo/inativo
- Garantir que filtros de ativo/inativo só afetam consultores
This commit is contained in:
Frederico Castro
2025-12-30 23:32:02 -03:00
parent 3558a4b6ca
commit 0a0a47ecc4
3 changed files with 149 additions and 5 deletions

View File

@@ -90,9 +90,9 @@ class TestObterEstatisticas:
def test_estatisticas_calculadas(self):
entries = [
RankingEntry(id_pessoa=1, nome="A", posicao=1, pontuacao_total=300, bloco_a=100, bloco_b=80, bloco_c=60, bloco_d=40, bloco_e=20, ativo=True, anos_atuacao=5, detalhes={}),
RankingEntry(id_pessoa=2, nome="B", posicao=2, pontuacao_total=200, bloco_a=80, bloco_b=50, bloco_c=40, bloco_d=20, bloco_e=10, ativo=True, anos_atuacao=3, detalhes={}),
RankingEntry(id_pessoa=3, nome="C", posicao=3, pontuacao_total=100, bloco_a=40, bloco_b=30, bloco_c=20, bloco_d=5, bloco_e=5, ativo=False, anos_atuacao=2, detalhes={}),
RankingEntry(id_pessoa=1, nome="A", posicao=1, pontuacao_total=300, bloco_a=100, bloco_b=80, bloco_c=60, bloco_d=40, bloco_e=20, ativo=True, e_consultor=True, anos_atuacao=5, detalhes={}),
RankingEntry(id_pessoa=2, nome="B", posicao=2, pontuacao_total=200, bloco_a=80, bloco_b=50, bloco_c=40, bloco_d=20, bloco_e=10, ativo=True, e_consultor=True, anos_atuacao=3, detalhes={}),
RankingEntry(id_pessoa=3, nome="C", posicao=3, pontuacao_total=100, bloco_a=40, bloco_b=30, bloco_c=20, bloco_d=5, bloco_e=5, ativo=False, e_consultor=True, anos_atuacao=2, detalhes={}),
]
stats = ProcessarRankingJob._obter_estatisticas(entries)
assert stats["total_consultores"] == 3
@@ -104,8 +104,8 @@ class TestObterEstatisticas:
def test_media_componentes(self):
entries = [
RankingEntry(id_pessoa=1, nome="A", posicao=1, pontuacao_total=300, bloco_a=100, bloco_b=50, bloco_c=80, bloco_d=40, bloco_e=30, ativo=True, anos_atuacao=5, detalhes={}),
RankingEntry(id_pessoa=2, nome="B", posicao=2, pontuacao_total=200, bloco_a=80, bloco_b=30, bloco_c=60, bloco_d=20, bloco_e=10, ativo=True, anos_atuacao=3, detalhes={}),
RankingEntry(id_pessoa=1, nome="A", posicao=1, pontuacao_total=300, bloco_a=100, bloco_b=50, bloco_c=80, bloco_d=40, bloco_e=30, ativo=True, e_consultor=True, anos_atuacao=5, detalhes={}),
RankingEntry(id_pessoa=2, nome="B", posicao=2, pontuacao_total=200, bloco_a=80, bloco_b=30, bloco_c=60, bloco_d=20, bloco_e=10, ativo=True, e_consultor=True, anos_atuacao=3, detalhes={}),
]
stats = ProcessarRankingJob._obter_estatisticas(entries)
assert stats["media_componentes"]["a"] == 90.0