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.")); }
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); }
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); }