Olá, estudante. Tudo bem?
A sua sugestão de adicionar uma verificação no método cadastrarUsuario()
do authService
é uma excelente abordagem para resolver essa questão.
A implementação que você sugeriu pode ser algo assim:
async function cadastrarUsuario(data) {
const existeEmail = await Usuario.pegarPeloEmail(data.email);
if (existeEmail) {
throw new Error('O email já está cadastrado');
}
// Continue com o processo de cadastro do usuário...
}
Com essa verificação, você garante que, caso o e-mail já esteja cadastrado, uma exceção será lançada, evitando que o mesmo e-mail seja cadastrado novamente. Isso não só resolve o problema do cenário 2, mas também melhora a integridade dos dados na sua aplicação.
Além disso, ao implementar essa lógica, você pode criar um teste unitário para garantir que essa funcionalidade esteja funcionando conforme o esperado. Por exemplo, você pode simular a tentativa de cadastro de um e-mail já existente e verificar se a exceção correta é lançada.
A Alura é uma comunidade, toda sugestão é bem-vinda. Muito obrigado.
Espero ter ajudado e bons estudos.
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!