Пример #1
0
        public void ClienteAptoCadastro_Validation_DeveRetornarFalse()
        {
            //Arrang
            var cliente = new Cliente()
            {
                Nome           = "Marcela",
                CPF            = "15633485602",
                Email          = "*****@*****.**",
                DataNascimento = new DateTime(1980, 01, 01)
            };

            //MOQ
            var repo = MockRepository.GenerateStub <IClienteRepository>();

            repo.Stub(s => s.ObterPorEmail(cliente.Email)).Return(cliente);
            repo.Stub(s => s.ObterPorCPF(cliente.CPF)).Return(cliente);

            var clienteValidation = new ClienteEstaAptoParaCadastroValidation(repo);

            //Act
            var result = clienteValidation.Validate(cliente);

            //Assert
            Assert.IsFalse(result.IsValid);
            Assert.IsTrue(result.Erros.Any(x => x.Message == "Já existe um cliente com esse CPF."));
            Assert.IsTrue(result.Erros.Any(x => x.Message == "Já existe um cliente com esse E-mail."));
        }
Пример #2
0
        public void ClienteAptoCadastro_Validation_DeveRetornarTrue()
        {
            // Arrange
            var cliente = new Cliente
            {
                Nome           = "Alysson",
                CPF            = "15743417075",
                Email          = "*****@*****.**",
                DataNascimento = new DateTime(1980, 01, 01)
            };

            // MOQ : Fingir ser um objeto como um repositório que não retorna nada
            var repo = MockRepository.GenerateStub <IClienteRepository>();

            // Estou dizendo ao método ObterPorEmail que ao passar o email [email protected] o resultado será nulo
            // no intuito de dizer que este email não está cadastrado no banco deixando assim cadastrar o cliente
            repo.Stub(s => s.ObterPorEmail(cliente.Email)).Return(null);

            // Estou dizendo ao método ObterPorCpf que ao passar o cpf 15743417075 o resultado será nulo
            // no intuito de dizer que este CPF não está cadastrado no banco deixando assim cadastrar o cliente
            repo.Stub(s => s.ObterPorCpf(cliente.CPF)).Return(null);

            var cliValidation = new ClienteEstaAptoParaCadastroValidation(repo);

            // Act
            var result = cliValidation.Validate(cliente);

            // Assert
            Assert.IsTrue(result.IsValid);
        }
Пример #3
0
        public void ClienteAptoCadastro_Validation_DeveRetornarFalse()
        {
            // Arrange
            var cliente = new Cliente
            {
                Nome           = "Alberto",
                CPF            = "25666158880",
                Email          = "*****@*****.**",
                DataNascimento = new DateTime(1980, 01, 01)
            };

            // MOQ : Fingir ser um objeto como um repositório que não retorna nada
            var repo = MockRepository.GenerateStub <IClienteRepository>();

            // Estou dizendo ao método ObterPorEmail que ao passar o email [email protected]  irá achar um cliente
            // A idéia aqui
            repo.Stub(s => s.ObterPorEmail(cliente.Email)).Return(cliente);

            // Estou dizendo ao método ObterPorCpf que ao passar o cpf 25666158880 irá achar um cliente
            repo.Stub(s => s.ObterPorCpf(cliente.CPF)).Return(cliente);

            var cliValidation = new ClienteEstaAptoParaCadastroValidation(repo);

            // Act
            var result = cliValidation.Validate(cliente);

            // Assert
            Assert.IsFalse(result.IsValid);

            // Para ter certeza que falhou pelos motivos esperados
            Assert.IsTrue(result.Erros.Any(e => e.Message == "Já existe um cliente com este CPF"));
            Assert.IsTrue(result.Erros.Any(e => e.Message == "Já existe um cliente com este E-mail"));
        }
        public void ClienteAptoCadastro_Validation_DeveRetornar_False()
        {
            // Arrange
            var cliente = new Cliente
            {
                Nome           = "Teste",
                CPF            = "65782707798",
                Email          = "*****@*****.**",
                DataNascimento = new DateTime(1980, 01, 01)
            };

            // MOQ
            var repo = MockRepository.GenerateStub <IClienteRepository>();

            repo.Stub(s => s.ObterPorEmail(cliente.Email)).Return(cliente);
            repo.Stub(s => s.ObterPorCpf(cliente.CPF)).Return(cliente);

            var cliValidation = new ClienteEstaAptoParaCadastroValidation(repo);


            // Act
            var result = cliValidation.Validate(cliente);

            // Assert
            Assert.IsFalse(result.IsValid);
            Assert.IsTrue(result.Erros.Any(e => e.Message == "Já existe um cliente com este CPF."));
            Assert.IsTrue(result.Erros.Any(e => e.Message == "Já existe um cliente com este E-mail."));
        }
        public void ClienteApto_Validation_True()
        {
            // Arrange
            var cliente = new Cliente("Eduardo", "*****@*****.**", "30390600822", new DateTime(1982, 04, 24), true);

            // MOCK
            var repo = MockRepository.GenerateStub <IClienteRepository>();

            repo.Stub(s => s.ObterPorEmail(cliente.Email)).Return(null);
            repo.Stub(s => s.ObterPorCpf(cliente.CPF)).Return(null);

            var cliValidation = new ClienteEstaAptoParaCadastroValidation(repo);

            // Act
            var result = cliValidation.Validate(cliente);

            // Assert
            Assert.IsTrue(result.IsValid);
        }