https://github.com/DanLoose/loja
Quando efetuo dois cadastros com o mesmo email, nenhum erro é disparado e o usuário é cadastrado do mesmo jeito. Uma coisa que notei ser muito estranha é que meu método "existeEmail" dentro do usuario.repository SEMPRE retorna false, mesmo que o usuario de fato exista. Acredito que "this.usuarios.find()" não está fazendo a validação correta, mas pelo que notei, o código está exatamente igual ao do professor.
import { Injectable } from "@nestjs/common";
import { CriaUsuarioDTO } from "./dto/CriaUsuario.dto";
@Injectable()
export class UsuarioRepository {
private usuarios = [];
async salvar(usuario: CriaUsuarioDTO) {
this.usuarios.push(usuario);
}
async listar() {
return this.usuarios;
}
async existeEmail(email: string) {
const possivelUsuario = this.usuarios.find(
usuario => usuario.email === email
)
return possivelUsuario !== undefined;
}
}