Adicionado teste para criação de novo usuário em UsuarioController
Implementado teste para verificar a criação de um novo usuário.
Mock do repositório de usuários utilizando jest.
Incluído verificação para resposta com status 201 e JSON retornado.
Teste para verificar a não duplicação de usuários existente.
-Refatorar DesafioController para lidar com erros desconhecidos e adicionar testes
Atualizada o método create no DesafioController para lidar com erros do tipo unknown. Especificamente, adicionado uma verificação para ver se o erro é uma instância de Error e possui a mensagem Messages.BET_AMOUNT_INVALID para retornar um status 400.
Adicionada manipulação de erros para valores de aposta inválidos no método create do DesafioController.
Criados testes unitários para o método create no DesafioController usando Jest.
Teste para garantir que um novo desafio é criado com sucesso.
Teste para lidar com o caso em que o usuário não é encontrado.
Teste para lidar com erros do servidor.
Teste para garantir que um valor de aposta inválido retorna um status 400 com a mensagem apropriada.
->"Refatorar DesafioController para exibir informações relevantes e atualizar métodos de busca
Atualizado o método aceitarDesafio para retornar informações filtradas do desafio após a aceitação.
Atualizado o método findDesafio para incluir dados relacionados de usuarioCriador e usuarioAceitou.
Modificado a lógica de exibição dos desafios e adição de informações relevantes nos métodos existentes.
Atualizado mensagens de erro e verificações de validação de aposta.
Melhoria no retorno de informações de desafios e usuários nas respostas da API."
->Melhora a função aceitarDesafio com logs de depuração e correções de bugs
Adiciona logs de depuração para verificar os valores de usuarioAceitou e desafio, e as propriedades moeda e valorDaAposta.
Adiciona verificações para garantir que desafio.valorDaAposta não seja undefined e que usuarioAceitou tenha moedas suficientes.
Corrige erros relacionados ao acesso a propriedades moeda e valorDaAposta para prevenir exceções TypeError.
Atualiza a função findDesafio para garantir que valorDaAposta e os relacionamentos usuarioAceitou e usuarioCriador sejam carregados.
Adiciona mensagens de erro mais claras para falhas na aceitação do desafio.
Logs adicionados para depuração:
Usuário encontrado
Desafio encontrado
Valor da Aposta
Moeda do Usuário Aceitou após atualização
Moeda do Usuário Criador após atualização
Desafio atualizado
Correções realizadas:
Verificação se valorDaAposta está definido.
Verificação de moeda suficiente antes de aceitar o desafio.
Correção na atualização de moedas dos usuários e no resultado do desafio.
->"Refatorado método validarAposta e atualiza controlador e testes
Refatorado o método validarAposta para retornar um valor booleano em vez de enviar resposta diretamente.
Atualizado o método create no DesafioController para usar a nova versão de validarAposta.
Adicionado novos testes para o método create, cobrindo casos de sucesso, usuário não encontrado, valor da aposta inválido e erro do servidor.
Ajustado a lógica de testes para verificar a validação de aposta e tratamento de erros no controlador."
->Refatorado a função validarAposta para melhorar testabilidade
A função validarAposta agora retorna um booleano ao invés de enviar resposta diretamente.
Atualizado o método create no DesafioController para chamar a nova função de validação.
Adicionado e ajustado testes unitários para o método create para cobrir novos casos de teste
--------------------- |19/07| --------------------
fix: tratar casos de erro no método aceitarDesafio
Garantir que idAceitou e idDesafio são fornecidos na requisição
Validar a presença do usuário e do desafio antes de prosseguir
Verificar se valorDaAposta está definido
Validar se o usuário tem moeda suficiente para aceitar o desafio
Capturar e tratar erros inesperados para retornar status e mensagens apropriadas
--------------------- |19/07| --------------------
"test: adicionar testes unitários para DesafioController
Criar testes para o método 'create' de DesafioController, incluindo casos de sucesso, usuário não encontrado, valor de aposta inválido e erro de servidor
Adicionar testes para o método 'maioresApostadores', incluindo casos de sucesso, nenhum apostador encontrado e erro de servidor
Adicionar testes para o método 'aceitarDesafio', incluindo verificações para IDs ausentes, usuário/desafio não encontrados, valor de aposta não definido e moeda insuficiente"
--------------------- |19/07| --------------------
Adicionar testes unitários abrangentes para DesafioController
Implementados testes unitários para o método create do DesafioController:
Testar a criação de um novo desafio com dados válidos.
Testar erro 404 quando o usuário não é encontrado.
Testar erro 400 quando o valor da aposta é inválido.
Testar erro 500 quando há um erro de servidor.
Implementados testes unitários para o método maioresApostadores do DesafioController:
Testar a recuperação dos 3 maiores apostadores com resultados de consulta simulados.
Testar erro 404 quando nenhum apostador é encontrado.
Testar erro 500 quando há um erro de servidor.
Implementados testes unitários para o método aceitarDesafio do DesafioController:
Testar erro 400 quando idAceitou ou idDesafio não são fornecidos.
Testar erro 404 quando o usuário não é encontrado.
Testar erro 404 quando o desafio não é encontrado.
Testar erro 400 quando o valor da aposta está indefinido.
Testar erro 400 quando o usuário não tem moeda suficiente para aceitar o desafio.
Adicionados mocks apropriados para UsuarioRepository e DesafioRepository.
Atualizados os dados mock e ajustadas as expectativas para alinhar com a lógica atual dos métodos do controlador.
Adicionada configuração e limpeza necessária para garantir estados limpos entre os testes.
Testes
create
noDesafioController
para lidar com erros do tipounknown
. Especificamente, adicionado uma verificação para ver se o erro é uma instância deError
e possui a mensagemMessages.BET_AMOUNT_INVALID
para retornar um status 400.create
doDesafioController
.create
noDesafioController
usando Jest.->"Refatorar DesafioController para exibir informações relevantes e atualizar métodos de busca
->Melhora a função aceitarDesafio com logs de depuração e correções de bugs
usuarioAceitou
edesafio
, e as propriedadesmoeda
evalorDaAposta
.desafio.valorDaAposta
não sejaundefined
e queusuarioAceitou
tenha moedas suficientes.moeda
evalorDaAposta
para prevenir exceçõesTypeError
.findDesafio
para garantir quevalorDaAposta
e os relacionamentosusuarioAceitou
eusuarioCriador
sejam carregados.Logs adicionados para depuração:
Usuário encontrado
Desafio encontrado
Valor da Aposta
Moeda do Usuário Aceitou após atualização
Moeda do Usuário Criador após atualização
Desafio atualizado
Correções realizadas:
valorDaAposta
está definido.->"Refatorado método validarAposta e atualiza controlador e testes
->Refatorado a função validarAposta para melhorar testabilidade
--------------------- |19/07| -------------------- fix: tratar casos de erro no método aceitarDesafio
Garantir que idAceitou e idDesafio são fornecidos na requisição
Validar a presença do usuário e do desafio antes de prosseguir
Verificar se valorDaAposta está definido
Validar se o usuário tem moeda suficiente para aceitar o desafio
Capturar e tratar erros inesperados para retornar status e mensagens apropriadas --------------------- |19/07| -------------------- "test: adicionar testes unitários para DesafioController
Criar testes para o método 'create' de DesafioController, incluindo casos de sucesso, usuário não encontrado, valor de aposta inválido e erro de servidor
Adicionar testes para o método 'maioresApostadores', incluindo casos de sucesso, nenhum apostador encontrado e erro de servidor
Adicionar testes para o método 'aceitarDesafio', incluindo verificações para IDs ausentes, usuário/desafio não encontrados, valor de aposta não definido e moeda insuficiente" --------------------- |19/07| -------------------- Adicionar testes unitários abrangentes para DesafioController
Implementados testes unitários para o método
create
doDesafioController
:Implementados testes unitários para o método
maioresApostadores
doDesafioController
:Implementados testes unitários para o método
aceitarDesafio
doDesafioController
:idAceitou
ouidDesafio
não são fornecidos.Adicionados mocks apropriados para
UsuarioRepository
eDesafioRepository
.Atualizados os dados mock e ajustadas as expectativas para alinhar com a lógica atual dos métodos do controlador.
Adicionada configuração e limpeza necessária para garantir estados limpos entre os testes.