private async Task Valida_Tratamento_De_Duplicidade_De_Email_Nao_Encontrando_Email_Valido_Deve_Disparar_Excecao() { // Arrange var aluno = new AlunoEol(1, "José da Silva", string.Empty, string.Empty, new DateTime(1990, 9, 10)); var email = aluno.Email; var emailTentativa1 = "*****@*****.**"; var emailTentativa2 = "*****@*****.**"; var emailTentativa3 = "*****@*****.**"; repositorioUsuario.Setup(x => x.ExisteEmailUsuarioPorTipo(email, UsuarioTipo.Aluno, aluno.Codigo)) .ReturnsAsync(true); repositorioUsuario.Setup(x => x.ExisteEmailUsuarioPorTipo(emailTentativa1, UsuarioTipo.Aluno, aluno.Codigo)) .ReturnsAsync(true); repositorioUsuario.Setup(x => x.ExisteEmailUsuarioPorTipo(emailTentativa2, UsuarioTipo.Aluno, aluno.Codigo)) .ReturnsAsync(true); repositorioUsuario.Setup(x => x.ExisteEmailUsuarioPorTipo(emailTentativa3, UsuarioTipo.Aluno, aluno.Codigo)) .ReturnsAsync(true); var query = new VerificarEmailExistenteAlunoQuery(aluno); // Assert await Assert.ThrowsAsync <NegocioException>(() => verificarEmailExistenteAlunoQueryHandler.Handle(query, CancellationToken.None)); }
private async Task Valida_Tratamento_De_Duplicidade_De_Email_Ate_A_Ultima_Tentativa_Deve_Retornar_O_Email_Alterado() { // Arrange var aluno = new AlunoEol(1, "José da Silva", string.Empty, string.Empty, new DateTime(1990, 9, 10)); var email = aluno.Email; var emailTentativa1 = "*****@*****.**"; var emailTentativa2 = "*****@*****.**"; var emailTentativa3 = "*****@*****.**"; repositorioUsuario.Setup(x => x.ExisteEmailUsuarioPorTipo(email, UsuarioTipo.Aluno, aluno.Codigo)) .ReturnsAsync(true); repositorioUsuario.Setup(x => x.ExisteEmailUsuarioPorTipo(emailTentativa1, UsuarioTipo.Aluno, aluno.Codigo)) .ReturnsAsync(true); repositorioUsuario.Setup(x => x.ExisteEmailUsuarioPorTipo(emailTentativa2, UsuarioTipo.Aluno, aluno.Codigo)) .ReturnsAsync(true); repositorioUsuario.Setup(x => x.ExisteEmailUsuarioPorTipo(emailTentativa3, UsuarioTipo.Aluno, aluno.Codigo)) .ReturnsAsync(false); var query = new VerificarEmailExistenteAlunoQuery(aluno); // Act var alunoRetorno = await verificarEmailExistenteAlunoQueryHandler.Handle(query, CancellationToken.None); // Assert Assert.NotNull(alunoRetorno); Assert.Equal(emailTentativa3, alunoRetorno.Email); }