Repository navigation
T-245 - Montar os casos de referência dos construtos tipados - #333
Merged
Merged
Conversation
- um caso por construto tipado e um combinado, no formato da T-243, com o esperado gravado pelo script - a leitura de cada construto fica no caso, inclusive a premissa das lacunas entre faixas - nos casos de bônus, faixas e limiar o núcleo deixa o gerente de fora, para o caso não depender de como o percentual se aplica a ele - os testes conferem a contribuição ou a declaração de cada elemento e que o avaliador reprova cada construto sem efeito - os testes da T-243 que fixavam três casos passam a contar os nove Review: human
- a tabela de casos da doc do avaliador ganha os seis casos da T-245, com o esperado de cada um Review: human
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Acrescenta os casos de referência dos cinco construtos tipados e uma regra que os combina, no formato da T-243, para que a geração de cada construto (T-246 a T-250) possa ser provada no avaliador. Cada caso fixa, no campo
leitura, a interpretação do construto que a geração e a extração (T-205 a T-209) precisam seguir.Alterações
tests/fixtures/casos_geracao/: seis casos, cada um comcaso.json,referencia.pye oesperado.jsongravado porscripts.gravar_esperado:exclusao-gerente: núcleo de 2,5% na marca 30 e exclusão do cargo 150 (regra real de outubro), em2025-10.bonus-fixo-lista-e-filtro: bônus por lista (as oito matrículas reais de agosto, mais MATRIC-133, que está fora do quadro em agosto) e por filtro (cargo 100 admitido até 10/10/2025), em2025-08e2025-10.janela-datas-black-friday: a janela real de 24 a 30/11 com +1 p.p., em2025-11.faixa-valor-dezembro: as três faixas reais de dezembro das marcas 10 e 20, com a faixa aberta em 1.000.000.000 (T-208), em2025-12.condicao-limiar-loja: venda da loja >= R$ 50.000 liberando o núcleo de 3% (exemplo do contrato e da T-209), nas cinco competências.combinado-elementos:contracts/examples/domain/representacao-regra-elementos.jsonsem alteração, nas cinco competências.tests/scripts/test_casos_geracao.py: os testes que fixavam os três casos da T-243 passam a contar os nove; novos testes conferem o construto de cada caso, quais elementos têm contribuição e que o combinado usa o exemplo do contrato.tests/scripts/test_avaliar_geracao_integration.py(docker): o avaliador aprova as nove referências, e cada construto sem efeito, ainda declarado, é reprovado apontando o elemento.docs/t243-avaliador-de-geracao.md: a tabela de casos ganha os seis da T-245.Decisões
cod_lojadas vendas, como nas regras base, e a pessoa pertence à loja de lotação.exclusao-gerente. As cinco competências testam a vigência de novembro.elem.2654.000,09 no bônus,elem.117.499,99 no combinado) vêm do harness, que põe o centavo de arredondamento de cada linha no elemento de maior valor.Verificação
Executado em Linux (Ubuntu 24.04 no WSL), com Docker:
poetry run python -m scripts.gravar_esperado --check: as nove referências conferem.tests/scripts: 92 testes sem Docker e 24dockerpassando, com as 8 variações de construto sem efeito reprovadas.EXIGIR_DOCKER=1 sh verify.sh: Ruff e formatação ok, mypy sem erros em 52 arquivos, 1.121 testes sem marcação e 115dockerpassando.CI=true:verify.shcom saída 0.git diff --check: ok.Não verificado
bonus_fixoedata_refno lugar dedata_vendana janela: com estes dados, os dois não mudam o número, e as leituras registram a limitação.postgres, pulados sem Postgres; localmente, 9 testesrabbitmqdo consumidor do worker também dependem dele.