Versão do ruby utilizada nesse projeto
3.2.2
É necessário instalar a gem minitest para rodas os testes desse projeto
gem install minitestAcesse o repositório ruby do projeto
cd rubyPara rodar a suíte toda de testes use o comando abaixo
ruby test/customer_success_balancing_tests.rbPara rodar algum teste em específico
ruby test/customer_success_balancing_tests.rb --name test_scenario_twoNa sessão "O Desafio - CustomerSuccess Balancing" no último parágrafo é comentado que o sistema distribui os clientes com os CSs de capacidade de atendimento mais próxima (maior) ao tamanho do cliente.
Só que no test_scenario_three ele não atende a essa condição da pontuação do customer success ser maior que a do client.
-
O customer success de id
999está ausente e seria necessário ele estar disponivel para atender todos os customers que possuem o valor da pontuação inferior ao valor dele (998) -
No teste é esperado o retorno do ID
998que é o customer success que atenderia os10_000clientes com score998
O que seria a regra de negócio correta ?
-
O código aceitar pontuações de clientes
<=a pontuação do customer success ? -
O teste retornar 0 pois nenhum cliente poderia ser atendido já que na descrição do teste é solicitado uma pontuação do customer success
>que a do cliente ?
Outro ponto sobre o mesmo teste test_scenario_three
- Ao tentar criar a validação para a premissa
0 < nível do cs < 10.000o teste falha, pois o o teste cria10_000customer success de nivel998enquanto que a premissa0 < id do cs < 1.000permite até o customer success de id1.000
Evitei de atualizar os testes por conta dessa expectativa Testes. Você pode adicionar novos testes, mas sem alterar o pacote original
Mas ao meu ver algumas premissas não serão atendidas corretamente se os testes não forem atualizados, como as que descrevi acima.
O que seria o ideal por aqui a se feito por aqui, atualizar os teste ou alterar a premissa/regra de negócio ? 🤔