public void RemoverFoto_AlbumVazio_DomainException() { // Arrange var anuncio = AnuncioFakeFactory.CriarAnuncioValido(); var foto = new Foto(new Uri(URL_PNG_VALIDA)); // Act // Assert Assert.Throws <DomainException>(() => anuncio.RemoverFoto(foto)); }
public void Publicar_AnuncioPendente_AnuncioPublicado() { // Arrange var anuncio = AnuncioFakeFactory.CriarAnuncioValido(); // Act anuncio.Publicar(); // Assert Assert.True(anuncio.Status.EhPublicado()); }
public void Adicionar_AdicionarFotoDiretamentePeloAlbumFoto_NaoDeveAlterarOAlbum() { // Arrange var anuncio = AnuncioFakeFactory.CriarAnuncioValido(); // Act anuncio.Fotos.Adicionar(new Foto(new Uri(URL_PNG_VALIDA + "1.png"))); // Assert Assert.True(anuncio.Fotos.Vazio); }
public void RemoverTodasFotos_AlbumSemFotos_AlbumVazioNaoLancaExcecao() { // Arrange var anuncio = AnuncioFakeFactory.CriarAnuncioValido(); // Act anuncio.RemoverTodasFotos(); // Assert Assert.True(anuncio.Fotos.Vazio); }
public void Publicar_AnuncioJaPublicado_DomainException() { // Arrange var anuncio = AnuncioFakeFactory.CriarAnuncioValido(); anuncio.Publicar(); // Act // Assert Assert.Throws <DomainException>(() => anuncio.Publicar()); }
public void AdicionarFoto_AdicionarPrimeiraFoto_FotoDefinidaComoCapa() { // Arrange var anuncio = AnuncioFakeFactory.CriarAnuncioValido(); var foto = new Foto(new Uri(URL_PNG_VALIDA)); // Act anuncio.AdicionarFoto(foto); // Assert Assert.Equal(foto, anuncio.Fotos.Capa); }
public void RemoverFoto_RemoverFotoQueNaoEhDoAlbum_DomainException() { // Arrange var anuncio = AnuncioFakeFactory.CriarAnuncioValido(); var foto = new Foto(new Uri(URL_PNG_VALIDA)); var foto2 = new Foto(new Uri(URL_PNG_VALIDA + "2.png")); // Act anuncio.AdicionarFoto(foto); // Assert Assert.Throws <DomainException>(() => anuncio.RemoverFoto(foto2)); }
public void MarcarComoVendido_AnuncioAindaNaoVendido_AnuncioMarcadoComoVendido() { // Arrange var anuncio = AnuncioFakeFactory.CriarAnuncioValido(); anuncio.Publicar(); // Act anuncio.Vender(); // Assert Assert.Equal(Status.Vendido, anuncio.Status); Assert.Equal(DateTime.Now.Date, anuncio.DataDaVenda.Date); }
public void Limpar_LimparFotoDiretamentePeloAlbumFoto_NaoDeveAlterarOAlbum() { // Arrange var anuncio = AnuncioFakeFactory.CriarAnuncioValido(); var primeiraFoto = new Foto(new Uri(URL_PNG_VALIDA)); anuncio.AdicionarFoto(primeiraFoto); // Act anuncio.Fotos.Limpar(); // Assert Assert.False(anuncio.Fotos.Vazio); }
public void RemoverFoto_AlbumComUmaFotoAoRemover_AlbumVazio() { // Arrange var anuncio = AnuncioFakeFactory.CriarAnuncioValido(); var primeiraFoto = new Foto(new Uri(URL_PNG_VALIDA)); anuncio.AdicionarFoto(primeiraFoto); // Act anuncio.RemoverFoto(primeiraFoto); // Assert Assert.True(anuncio.Fotos.Vazio); }
public void Construtor_DadosValido_ObjetoCriado() { // Arrange // Act var anuncio = AnuncioFakeFactory.CriarAnuncioValido(); // Assert Assert.Equal("Titulo", anuncio.Titulo); Assert.Equal("Descricao", anuncio.Descricao); Assert.Equal(10.0M, anuncio.Preco); Assert.Equal(Status.Pendente, anuncio.Status); Assert.Equal(CondicaoUso.Usado, anuncio.CondicaoUso); Assert.Equal(1, anuncio.DomainEvents.Count); }
public void AdicionarFoto_AdicionarSegundaFoto_APrimeiraFotoContinuaComoCapa() { // Arrange var anuncio = AnuncioFakeFactory.CriarAnuncioValido(); var foto1 = new Foto(new Uri(URL_PNG_VALIDA)); var foto2 = new Foto(new Uri(URL_PNG_VALIDA + "2.png")); anuncio.AdicionarFoto(foto1); // Act anuncio.AdicionarFoto(foto2); // Assert Assert.Equal(foto1, anuncio.Fotos.Capa); }
public void AdicionarFoto_AdicionarSetimaFoto_DomainException() { // Arrange var anuncio = AnuncioFakeFactory.CriarAnuncioValido(); anuncio.AdicionarFoto(new Foto(new Uri(URL_PNG_VALIDA + "1.png"))); anuncio.AdicionarFoto(new Foto(new Uri(URL_PNG_VALIDA + "2.png"))); anuncio.AdicionarFoto(new Foto(new Uri(URL_PNG_VALIDA + "3.png"))); anuncio.AdicionarFoto(new Foto(new Uri(URL_PNG_VALIDA + "4.png"))); anuncio.AdicionarFoto(new Foto(new Uri(URL_PNG_VALIDA + "5.png"))); anuncio.AdicionarFoto(new Foto(new Uri(URL_PNG_VALIDA + "6.png"))); // Act // Assert Assert.Throws <DomainException>(() => anuncio.AdicionarFoto(new Foto(new Uri(URL_PNG_VALIDA + "7.png")))); }
public void RemoverFoto_AlbumComDuasFotosAoRemoverPrimeiraFoto_SegundaFotoSeTornaCapa() { // Arrange var anuncio = AnuncioFakeFactory.CriarAnuncioValido(); var primeiraFoto = new Foto(new Uri(URL_PNG_VALIDA)); var segundaFoto = new Foto(new Uri(URL_PNG_VALIDA + "2.png")); anuncio.AdicionarFoto(primeiraFoto); anuncio.AdicionarFoto(segundaFoto); // Act anuncio.RemoverFoto(primeiraFoto); // Assert Assert.Equal(segundaFoto, anuncio.Fotos.Capa); }
public void Excluir_AnuncioEmStatusQueNaoPodemSerExcluido_DomainException() { foreach (var status in Status.GetAll()) { if (status.PodeSerExcluido()) { continue; } // Arrange var anuncio = AnuncioFakeFactory.CriarAnuncioPorStatus(status); // Act // Assert Assert.Throws <DomainException>(() => anuncio.Excluir()); } }
public void AdicionarFoto_AdicionarSextaFoto_AlbumCompleto() { // Arrange var anuncio = AnuncioFakeFactory.CriarAnuncioValido(); anuncio.AdicionarFoto(new Foto(new Uri(URL_PNG_VALIDA + "1.png"))); anuncio.AdicionarFoto(new Foto(new Uri(URL_PNG_VALIDA + "2.png"))); anuncio.AdicionarFoto(new Foto(new Uri(URL_PNG_VALIDA + "3.png"))); anuncio.AdicionarFoto(new Foto(new Uri(URL_PNG_VALIDA + "4.png"))); anuncio.AdicionarFoto(new Foto(new Uri(URL_PNG_VALIDA + "5.png"))); // Act anuncio.AdicionarFoto(new Foto(new Uri(URL_PNG_VALIDA + "6.png"))); // Assert Assert.True(anuncio.Fotos.Completo); }
public void RemoverTodasFotos_AlbumComFotos_AlbumVazio() { // Arrange var anuncio = AnuncioFakeFactory.CriarAnuncioValido(); anuncio.AdicionarFoto(new Foto(new Uri(URL_PNG_VALIDA + "1.png"))); anuncio.AdicionarFoto(new Foto(new Uri(URL_PNG_VALIDA + "2.png"))); anuncio.AdicionarFoto(new Foto(new Uri(URL_PNG_VALIDA + "3.png"))); anuncio.AdicionarFoto(new Foto(new Uri(URL_PNG_VALIDA + "4.png"))); anuncio.AdicionarFoto(new Foto(new Uri(URL_PNG_VALIDA + "5.png"))); anuncio.AdicionarFoto(new Foto(new Uri(URL_PNG_VALIDA + "6.png"))); // Act anuncio.RemoverTodasFotos(); // Assert Assert.True(anuncio.Fotos.Vazio); }
public void Excluir_AnuncioEmStatusQuePodemSerExcluido_AnuncioExcluido() { foreach (var status in Status.GetAll()) { if (!status.PodeSerExcluido()) { continue; } // Arrange var anuncio = AnuncioFakeFactory.CriarAnuncioPorStatus(status); // Act anuncio.Excluir(); // Assert Assert.True(anuncio.Status.EhExcluido()); } }
public static Anuncio CriarAnuncioPorStatus(Status status) { var anuncio = AnuncioFakeFactory.CriarAnuncioValido(); if (status.EhPublicado()) { anuncio.Publicar(); } else if (status.EhRejeitado()) { anuncio.Rejeitar(); } else if (status.EhVendido()) { anuncio.Publicar(); anuncio.Vender(); } else if (status.EhExcluido()) { anuncio.Excluir(); } return(anuncio); }