Example #1
0
        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));
        }
Example #2
0
        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);
        }