public void Incluir(Anunciante anunciante) { this.ValidarAnunciante(anunciante); this.ValidarSeEmailExiste(anunciante); anunciante.DataCadastro = DateTime.Now; this.repositorioAnunciante.Incluir(anunciante); }
public void Atualizar_Anunciante_Invalido_Dispara_Exception_5_Erros() { try { Anunciante anunciante = new Anunciante(); target.Atualizar(anunciante); } catch (Exception ex) { Assert.AreEqual(5, ex.Message.Split('\n').Where(e => !string.IsNullOrWhiteSpace(e)).Count()); throw; } }
public void Atualizar_Anunciante_Valido_Chama_Repositorio_ObterAnuncianteDeEmail_Atualizar() { Anunciante anunciante = new Anunciante() { Nome = "Teste", Email = "*****@*****.**", Telefone = "(11)1234-4321", DataNascimento = new DateTime(1988, 5, 12), Cidade = new Cidade() }; target.Atualizar(anunciante); repositorioAnuncianteMock.Verify(r => r.ObterAnuncianteDeEmail(anunciante.Email)); repositorioAnuncianteMock.Verify(r => r.Atualizar(anunciante)); }
public void Anunciar_Anuncio_Valido_Chama_Servico_Incluir_Anunciante_Automovel__Estatistica_DataAnuncio_Atual_Status_AguardandoAprovacao() { Automovel automovel = new Automovel(new Modelo()) { ParcelasRestantes = 1, ValorParcela = 10.00M }; Anunciante anunciante = new Anunciante(); Anuncio anuncio = new Anuncio(anunciante, automovel, new Plano() { Ativo = true }); EstatisticaAnuncio estatisticaAnuncio = new EstatisticaAnuncio(anuncio); target.Anunciar(anuncio); servicoAnuncianteMock.Verify(s => s.Incluir(anunciante)); repositorioAutomovelMock.Verify(s => s.Incluir(automovel)); repositorioEstatisticaAnuncioMock.Verify(s => s.Incluir(estatisticaAnuncio)); repositorioAnuncioMock.Verify(s => s.Anuciar(anuncio)); Assert.AreEqual(DateTime.Now.ToShortDateString(), anuncio.Data.ToShortDateString()); Assert.AreEqual(StatusAnuncio.AguardandoAprovacao, anuncio.Status); }
private void ValidarAnunciante(Anunciante anunciante) { if (anunciante == null) { throw new ArgumentNullException(); } StringBuilder erros = new StringBuilder(); if (string.IsNullOrWhiteSpace(anunciante.Nome)) { erros.AppendLine("Nome inválido"); } if (string.IsNullOrWhiteSpace(anunciante.Email)) { erros.AppendLine("Email inválido."); } if (string.IsNullOrWhiteSpace(anunciante.Telefone)) { erros.AppendLine("Telefone inválido."); } if (anunciante.DataNascimento == DateTime.MinValue) { erros.AppendLine("Data de nascimento inválida"); } if (DateTime.Now.Year - anunciante.DataNascimento.Year < 18) { erros.AppendLine("O anunciante deve ter no mínimo 18 anos de idade."); } if (anunciante.Cidade == null) { erros.AppendLine("Cidade inválida."); } if (erros.Length > 0) { throw new Exception(erros.ToString()); } }
public void Incluir_Anunciante_Valido_Data_Cadastro_DataAtual_Chama_Repositorio_ObterAnuncianteDeEmail_Incluir() { Anunciante anunciante = new Anunciante() { Nome = "Teste", Email = "*****@*****.**", Telefone = "(11)1234-4321", DataNascimento = new DateTime(1988, 5, 12), Cidade = new Cidade() }; target.Incluir(anunciante); repositorioAnuncianteMock.Verify(r => r.ObterAnuncianteDeEmail(anunciante.Email)); repositorioAnuncianteMock.Verify(r => r.Incluir(anunciante)); Assert.AreEqual(DateTime.Now.ToShortDateString(), anunciante.DataCadastro.ToShortDateString()); }
public void ObterAnunciosDoAnunciante_Anunciante_Valido_Chama_Repositorio() { Anunciante anunciante = new Anunciante(); target.ObterAnunciosDoAnunciante(anunciante); repositorioAnuncioMock.Verify(r => r.ObterAnunciosDoAnunciante(anunciante)); }
public void ReprovarAnuncio_Anuncio_Valido_Chama_Atualizar_Automovel_Chama_Repositorio() { Automovel automovel = new Automovel(new Modelo()) { ParcelasRestantes = 1, ValorParcela = 10.00M }; Anunciante anunciante = new Anunciante(); Anuncio anuncio = new Anuncio(anunciante, automovel, new Plano() { Ativo = true }); target.ReprovarAnuncio(anuncio); repositorioAutomovelMock.Verify(s => s.Atualizar(automovel)); repositorioAnuncioMock.Verify(s => s.Atualizar(anuncio)); Assert.AreEqual(StatusAnuncio.Reprovado, anuncio.Status); }
public void Atualizar_Anuncio_Valido_Chama_Servico_Atualizar_Automovel_Repositorio_Atualizar() { Automovel automovel = new Automovel(new Modelo()) { ParcelasRestantes = 1, ValorParcela = 10.00M }; Anunciante anunciante = new Anunciante(); Anuncio anuncio = new Anuncio(anunciante, automovel, new Plano() { Ativo = true }); target.Atualizar(anuncio); repositorioAutomovelMock.Verify(s => s.Atualizar(automovel)); repositorioAnuncioMock.Verify(s => s.Atualizar(anuncio)); }
public void Excluir_Anuncio_Valido_Chama_Servico_Excluir_Automovel_Repositorio_Excluir() { Automovel automovel = new Automovel(new Modelo()); Anunciante anunciante = new Anunciante(); Anuncio anuncio = new Anuncio(anunciante, automovel, new Plano() { Ativo = true }); EstatisticaAnuncio estatisticaAnuncio = new EstatisticaAnuncio(anuncio); repositorioEstatisticaAnuncioMock.Setup(s => s.ObterEstatisticaDoAnuncio(anuncio)).Returns(estatisticaAnuncio); target.Excluir(anuncio); repositorioAutomovelMock.Verify(s => s.Excluir(automovel)); repositorioEstatisticaAnuncioMock.Verify(s => s.Excluir(estatisticaAnuncio)); repositorioAnuncioMock.Verify(s => s.Excluir(anuncio)); }
public List<Anuncio> ObterAnunciosDoAnunciante(Anunciante anunciante) { if (anunciante == null) { throw new ArgumentNullException(); } return this.repositorioDeAnuncios.ObterAnunciosDoAnunciante(anunciante); }
public Anuncio(Anunciante anunciante, Automovel automovel, Plano plano) { this.Anunciante = anunciante; this.Automovel = automovel; this.Plano = plano; }
private void ValidarSeEmailExiste(Anunciante anunciante) { if (this.repositorioAnunciante.ObterAnuncianteDeEmail(anunciante.Email) != null) { throw new Exception("Já existe um anunciante com o mesmo email."); } }
public void Atualizar_Anunciante_Valido_Email_Ja_Existente_Chamar_Repositorio_ObterObterAnuncianteDeEmail_Dispara_Exception() { Anunciante anunciante = new Anunciante() { Nome = "Teste", Email = "*****@*****.**", Telefone = "(11)1234-4321", DataNascimento = new DateTime(1988, 5, 12), Cidade = new Cidade() }; repositorioAnuncianteMock.Setup(r => r.ObterAnuncianteDeEmail(anunciante.Email)).Returns(anunciante); target.Atualizar(anunciante); repositorioAnuncianteMock.Verify(r => r.ObterAnuncianteDeEmail(anunciante.Email)); }
public void Atualizar_Anunciante_Valido_Menor_18_Anos_Dispara_Exception_1_Erro() { try { Anunciante anunciante = new Anunciante() { Nome = "Teste", Email = "*****@*****.**", Telefone = "(11)1234-4321", DataNascimento = DateTime.Now, Cidade = new Cidade() }; target.Atualizar(anunciante); } catch (Exception ex) { Assert.AreEqual(1, ex.Message.Split('\n').Where(e => !string.IsNullOrWhiteSpace(e)).Count()); throw; } }
public void Atualizar(Anunciante anunciante) { this.ValidarAnunciante(anunciante); this.repositorioAnunciante.Atualizar(anunciante); }
public List<Anuncio> ObterAnunciosDoAnunciante(Anunciante anunciante) { return this.repositorioDeAnuncios.ObterAnunciosDoAnunciante(anunciante); }