public void AoAcessarACamadaDeAcessoADadosParaSalvarUmLivro_DeveSalvarOLivroERetornarVerdadeiro() { var novoLivro = new Product { Name = "Torre Negra", Author = "Stephen King", Publishing = "Universal", Year = 1995, Category = Categories.LiteraturaEstrangeira, Stock = 5, Price = 150.0M, Photo = "" }; var auxContext = new LivrariaTDDContext(); var mockContext = new LivrariaTDDContext(); _repository = new ProdutoRepository(mockContext); var countAntes = auxContext.Products.Count(); var result = _repository.SalvarLivro(novoLivro); var countDepois = auxContext.Products.Count(); Assert.NotNull(result); Assert.AreEqual(0,countAntes); Assert.AreEqual(1,countDepois); }
public Product SalvarLivro(Product novoProduto) { try { //var produto = new Product // { // Name = novoProduto.Name, // Author = novoProduto.Author, // Publishing = novoProduto.Publishing, // Year = novoProduto.Year, // Category = novoProduto.Category, // Stock = novoProduto.Stock, // Price = novoProduto.Price, // Photo = novoProduto.Photo, // Status = ProductStatus.Active // }; novoProduto.Status = ProductStatus.Active; _context.Set<Product>().Add(novoProduto); _context.SaveChanges(); return novoProduto; } catch(Exception) { return null; } }
public void AoAcessarACamadaDeAcessoADadosParaExcluirUmLivroNaoExistente_OMetodoDeveRetornarFalso() { const int idFalso = -10; var novoLivro = new Product { Name = "Torre Negra", Author = "Stephen King", Publishing = "Universal", Year = 1995, Category = Categories.LiteraturaEstrangeira, Stock = 5, Price = 150.0M, Photo = "", Status = ProductStatus.Active }; using (var livrariaContext = new LivrariaTDDContext()) { novoLivro = livrariaContext.Products.Add(novoLivro); livrariaContext.SaveChanges(); } using (var auxContext = new LivrariaTDDContext()) { var firstOrDefault = auxContext.Products.FirstOrDefault(x => x.ProductId == novoLivro.ProductId); if (firstOrDefault != null) { var statusAntes = firstOrDefault.Status; Assert.AreEqual(ProductStatus.Active, statusAntes); } } using (var livrariaContext = new LivrariaTDDContext()) { _repository = new ProdutoRepository(livrariaContext); var result = _repository.ExcluirLivro(idFalso); Assert.False(result); } using (var auxContext = new LivrariaTDDContext()) { var firstOrDefault = auxContext.Products.FirstOrDefault(x => x.ProductId == novoLivro.ProductId); if (firstOrDefault != null) { var statusDepois = firstOrDefault.Status; Assert.AreEqual(ProductStatus.Active, statusDepois); } } }
public void AoAcessarACamdadaDeAcessoADadosParaAlterarUmProduto_OProdutoDeveSerSalvoEUmResultadoBooleYearDeveSerRetornado() { var novosValores = new Product { ProductId = 3, Name = "Cinderela", Author = "Popular", Publishing = "Abril", Year = 2005, Category = Categories.InfantoJuvenis, Stock = 10, Price = 10.0M, Photo = "" }; var mockContext = new LivrariaTDDContext(); novosValores = mockContext.Products.Add(novosValores); mockContext.SaveChanges(); //mockContext.Setup(x => x.Produtos).Returns(_listaDeProdutos); _repository = new ProdutoRepository(mockContext); var aux = _repository.RecuperarInformacoesDoLivro(novosValores.ProductId); var livroAntigo = new Product { ProductId = aux.ProductId, Name = aux.Name, Author = aux.Author, Publishing = aux.Publishing, Year = aux.Year, Category = aux.Category, Stock = aux.Stock, Price = aux.Price, Photo = aux.Photo }; novosValores.Name = "Name novo"; var result = _repository.AlterarLivro(novosValores); var livroNovo = _repository.RecuperarInformacoesDoLivro(novosValores.ProductId); Assert.True(result); Assert.AreEqual(livroAntigo.ProductId, livroNovo.ProductId); StringAssert.AreNotEqualIgnoringCase(livroAntigo.Name, livroNovo.Name); }
public bool AlterarLivro(Product novoProduto) { var produtoAntigo = _context.Set<Product>().First(x => x.ProductId == novoProduto.ProductId); produtoAntigo.Name = novoProduto.Name; produtoAntigo.Author = novoProduto.Author; produtoAntigo.Publishing = novoProduto.Publishing; produtoAntigo.Year = novoProduto.Year; produtoAntigo.Category = novoProduto.Category; produtoAntigo.Stock = novoProduto.Stock; produtoAntigo.Price = novoProduto.Price; produtoAntigo.Photo = novoProduto.Photo; _context.SaveChanges(); return true; }
public void AoAcessarACamadaDeNegociosDaPaginaDeListagem_ComoFuncionarioDaLoja_OsProdutosDevemVirSomenteLivrosComStatus1Ativo() { using (var livrariaContext = new LivrariaTDDContext()) { var novoLivro = new Product { Name = "Torre Negra", Author = "Stephen King", Publishing = "Universal", Year = 1995, Category = Categories.LiteraturaEstrangeira, Stock = 5, Price = 150.0M, Photo = "", Status = ProductStatus.Active }; var novoLivro2 = new Product { Name = "Torre Negra Volume 2", Author = "Stephen King", Publishing = "Universal", Year = 1998, Category = Categories.LiteraturaEstrangeira, Stock = 8, Price = 170.0M, Photo = "", Status = ProductStatus.Inative }; livrariaContext.Products.Add(novoLivro); livrariaContext.Products.Add(novoLivro2); livrariaContext.SaveChanges(); } var mockContext = new LivrariaTDDContext(); _repository = new ProdutoRepository(mockContext); var result = _repository.GetActiveProducts(); Assert.IsNotNull(result); Assert.AreEqual(3, mockContext.Products.Count()); Assert.AreEqual(2, result.Count); Assert.IsInstanceOf<List<Product>>(result); CollectionAssert.AllItemsAreNotNull(result); CollectionAssert.IsNotEmpty(result); }
public void QuandoACamadaDeNegocioNaoSalvaUmLivroPorAlgumaFalha_DeveRetornarFalsoParaQuemAChamou() { var novoLivro = new Product { Name = "Torre Negra", Author = "Stephen King", Publishing = "Universal", Year = 1995, Category = Categories.LiteraturaEstrangeira, Stock = 5, Price = 150.0M, Photo = "" }; _repository.Setup(x => x.SalvarLivro(novoLivro)).Returns((Product)null); var result = _business.SalvarLivro(novoLivro); Assert.Null(result); }
public void QuandoAlgumPersonagemSolicitaCadastroDeUmNovoLivro_ACamadaDeNegociosDeveAcessarACamadaDeAcessoADadosParaSalvarOLivro() { var novoLivro = new Product { ProductId = 1, Name = "Torre Negra", Author = "Stephen King", Publishing = "Universal", Year = 1995, Category = Categories.LiteraturaEstrangeira, Stock = 5, Price = 150.0M, Photo = "" }; _repository.Setup(x => x.SalvarLivro(novoLivro)).Returns(novoLivro); _business.SalvarLivro(novoLivro); _repository.Verify(x => x.SalvarLivro(novoLivro),Times.AtLeastOnce()); }
public void AoAcessarACamadaDeNegociosParaAlterarUmLivro_OLivroDeveSerEnviadoParaSeSalvoNaCamadaDeAcessoADados() { var novosValores = new Product { ProductId = 3, Name = "A Bela e a Fera", Author = "Popular", Publishing = "Abril", Year = 2005, Category = Categories.InfantoJuvenis, Stock = 10, Price = 10.0M, Photo = "" }; _repository.Setup(x => x.AlterarLivro(novosValores)).Returns(true); var result = _business.Update(novosValores); _repository.Verify(x => x.AlterarLivro(novosValores), Times.AtLeastOnce()); Assert.True(result); }
public void AoAcessarACamadaDeAcessoADadosParaSalvarUmaCompra_ACompraDeSerSalvaEOMetodoDeveRetornarVerdadeiro() { var novoLivro1 = new Product { Name = "Torre Negra", Author = "Stephen King", Publishing = "Universal", Year = 1995, Category = Categories.LiteraturaEstrangeira, Stock = 5, Price = 150.0M, Photo = "", Status = ProductStatus.Active }; var novoLivro2 = new Product { Name = "Torre Negra Segunda edição", Author = "Stephen King", Publishing = "Universal", Year = 1998, Category = Categories.LiteraturaEstrangeira, Stock = 8, Price = 170.0M, Photo = "", Status = ProductStatus.Active }; var formaPagamento = new PaymentType { PaymentTypeName = "Boleto Bancário", Icon = "" }; var usuario = new User { District = "Centro", CellPhone = "3188888888", ZipCode = 30625130, City = "Belo Horizonte", State = "MG", Name = "Jô Soares", Email = "*****@*****.**", Number = 456, Address = "Afonso Pena", Password = "******", Phone = "313333333", UserType = "Cliente" }; using (var livrariaContext = new LivrariaTDDContext()) { novoLivro1 = livrariaContext.Products.Add(novoLivro1); novoLivro2 = livrariaContext.Products.Add(novoLivro2); formaPagamento = livrariaContext.PaymentTypes.Add(formaPagamento); usuario = livrariaContext.Users.Add(usuario); livrariaContext.SaveChanges(); } var pedido = new Order { User = usuario, PaymentType = formaPagamento, Products = new List<Product> {novoLivro1, novoLivro2}, OrderValue = novoLivro1.Price + novoLivro2.Price, FreightValue = 10.00M, TotalValue = novoLivro1.Price + novoLivro2.Price + 10.00M }; int userId = usuario.UserId; var listaIdProducts = new List<int>{ novoLivro1.ProductId, novoLivro2.ProductId }; int formaPagamentoId = formaPagamento.PaymentTypeId; using (var auxContext = new LivrariaTDDContext()) { var countAntes = auxContext.Orders.Count(); Assert.AreEqual(0, countAntes); } using (var livrariaContext = new LivrariaTDDContext()) { _repository = new PedidoRepository(livrariaContext); var result = _repository.SalvarPedido(pedido, userId, listaIdProducts, formaPagamentoId); Assert.True(result); } using (var auxContext = new LivrariaTDDContext()) { var countDepois = auxContext.Orders.Count(); Assert.AreEqual(1, countDepois); } }
public Product SalvarLivro(Product novoProduto) { return _repository.SalvarLivro(novoProduto); }
public void SetUp() { _livroTDD = new Product { ProductId = 1, Name = "TDD desenvolvimento guiado por testes", Author = "Kent Beck", Publishing = "Bookman", Year = 2010, Category = Categories.LiteraturaEstrangeira, Stock = 0, Price = 50.0M, Photo = "" }; _livroRomance = new Product { ProductId = 2, Name = "O Amor", Author = "Escritora Romance", Publishing = "Bookman", Year = 2007, Category = Categories.LiteraturaBrasileira, Stock = 0, Price = 30.0M, Photo = "" }; _livroFiccao = new Product { ProductId = 3, Name = "O Senhor Dos Aneis", Author = "Tolken J.R.", Publishing = "Abril", Year = 2005, Category = Categories.LiteraturaEstrangeira, Stock = 0, Price = 100.0M, Photo = "" }; using (var db = new LivrariaTDDContext()) { _livroTDD = db.Products.Add(_livroTDD); _livroRomance = db.Products.Add(_livroRomance); _livroFiccao = db.Products.Add(_livroFiccao); db.SaveChanges(); } }
public bool Update(Product novoProduto) { return _repository.AlterarLivro(novoProduto); }
public void SetUp() { _livroTDD = new Product { ProductId = 1, Name = "TDD desenvolvimento guiado por testes", Author = "Kent Beck", Publishing = "Bookman", Year = 2010, Category = Categories.LiteraturaEstrangeira, Stock = 0, Price = 50.0M, Photo = "" }; _livroRomance = new Product { ProductId = 2, Name = "O Amor", Author = "Escritora Romance", Publishing = "Bookman", Year = 2007, Category = Categories.LiteraturaBrasileira, Stock = 0, Price = 30.0M, Photo = "" }; _livroFiccao = new Product { ProductId = 3, Name = "O Senhor Dos Aneis", Author = "Tolken J.R.", Publishing = "Abril", Year = 2005, Category = Categories.LiteraturaEstrangeira, Stock = 0, Price = 100.0M, Photo = "" }; _business = new Mock<IProductBusiness>(); _business.Setup(x => x.GetInfo(1)).Returns(_livroTDD); _business.Setup(x => x.GetInfo(2)).Returns(_livroRomance); _business.Setup(x => x.GetInfo(3)).Returns(_livroFiccao); _controller = new ProductController(_business.Object); }
public void SetUp() { using (var db = new LivrariaTDDContext()) { foreach (var item in db.Products.ToList()) { db.Products.Remove(item); } db.SaveChanges(); var produto = new Product { Name = "TDD desenvolvimento guiado por testes", Author = "Kent Beck", Publishing = "Bookman", Year = 2010, Category = Categories.LiteraturaEstrangeira, Stock = 0, Price = 50.0M, Photo = "", Status = ProductStatus.Active }; db.Products.Add(produto); db.SaveChanges(); } }
public void AoAcessarACamadaDeAcessoADadosParaSalvarUmLivro_OLivroDeveSerCadastradoComStatus1Ativo() { var novoLivro = new Product { Name = "Torre Negra", Author = "Stephen King", Publishing = "Universal", Year = 1995, Category = Categories.LiteraturaEstrangeira, Stock = 5, Price = 150.0M, Photo = "" }; var mockContext = new LivrariaTDDContext(); _repository = new ProdutoRepository(mockContext); _repository.SalvarLivro(novoLivro); var result = mockContext.Products.FirstOrDefault().Status; Assert.AreEqual(ProductStatus.Active, result); }