public async Task Deve_Retornar_Consultas_De_Produto() { var options = new DbContextOptionsBuilder <OficinaPitStopContext>() .UseInMemoryDatabase("Testes_Consulta_Produtos") .Options; using (var context = new OficinaPitStopContext(options)) { PreencheProdutos(context); var produtoRepository = new ProdutoRepository(context); var produtos = await produtoRepository.ObterTodos(); Assert.NotEmpty(produtos); var produto = produtos.First(); var retornoPorId = produtoRepository.ObterPorId(produto.Codigo); Assert.NotNull(retornoPorId); var retornoPorNome = await produtoRepository.ObterPorNome(produto.Descricao); Assert.NotEmpty(retornoPorNome); var codigoMarcas = new List <int>(new[] { produto.CodigoMarca }); var retornoPorMarca = await produtoRepository.ObterPorCodigoMarca(codigoMarcas); Assert.NotEmpty(retornoPorMarca); } }
private void PreencheProdutos(OficinaPitStopContext context) { var produtos = new[] { CriaProduto(1), CriaProduto(2) }; context.Produtos.AddRange(produtos); context.SaveChanges(); }
private void PreencheMarcas(OficinaPitStopContext context) { var marcas = new[] { CriaMarca(1), CriaMarca(2) }; context.Marca.AddRange(marcas); context.SaveChanges(); }
public void Deve_Adicionar_Atualizar_E_Deletar_Produto() { var options = new DbContextOptionsBuilder <OficinaPitStopContext>() .UseInMemoryDatabase("Testes_Modifica_Produto") .Options; using (var context = new OficinaPitStopContext(options)) { //Cria var produtoRepository = new ProdutoRepository(context); var produto = CriaProduto(1); var retornoAdiciona = produtoRepository.Adiciona(produto); Assert.True(retornoAdiciona); var retornoPorId = produtoRepository.ObterPorId(produto.Codigo); Assert.Equal(retornoPorId, produto); Assert.Equal(produto.Preco, retornoPorId.Preco); Assert.Equal(produto.Quantidade, retornoPorId.Quantidade); //Atualiza var descricaoAntigaProduto = retornoPorId.Descricao; var novaDescricaoProduto = "Nova descrição produto!"; produto.Descricao = novaDescricaoProduto; var retornoAtualiza = produtoRepository.Atualiza(produto); Assert.True(retornoAtualiza); retornoPorId = produtoRepository.ObterPorId(produto.Codigo); Assert.NotEqual(descricaoAntigaProduto, retornoPorId.Descricao); Assert.Equal(novaDescricaoProduto, retornoPorId.Descricao); //Deleta var retornoDelete = produtoRepository.Deleta(produto); Assert.True(retornoDelete); retornoPorId = produtoRepository.ObterPorId(produto.Codigo); Assert.Null(retornoPorId); } }
public void Deve_Adicionar_Atualizar_E_Deletar_Marca() { var options = new DbContextOptionsBuilder <OficinaPitStopContext>() .UseInMemoryDatabase("Testes_Modifica_Marcas") .Options; using (var context = new OficinaPitStopContext(options)) { //Cria var marcaRepository = new MarcaRepository(context); var marca = CriaMarca(1); var retornoAdiciona = marcaRepository.Adiciona(marca); Assert.True(retornoAdiciona); var retornoPorId = marcaRepository.ObterPorId(marca.CodigoMarca); Assert.NotNull(retornoPorId); //Atualiza var descricaoAntigaMarca = retornoPorId.Descricao; var novaDescricaoMarca = "Nova descrição marca!"; marca.Descricao = novaDescricaoMarca; var retornoAtualiza = marcaRepository.Atualiza(marca); Assert.True(retornoAtualiza); retornoPorId = marcaRepository.ObterPorId(marca.CodigoMarca); Assert.NotEqual(retornoPorId.Descricao, descricaoAntigaMarca); Assert.Equal(retornoPorId.Descricao, novaDescricaoMarca); //Deleta var retornoDelete = marcaRepository.Deleta(marca); Assert.True(retornoDelete); retornoPorId = marcaRepository.ObterPorId(marca.CodigoMarca); Assert.Null(retornoPorId); } }
public async Task Deve_Retornar_Consultas_De_Marca() { var options = new DbContextOptionsBuilder <OficinaPitStopContext>() .UseInMemoryDatabase("Testes_Consulta_Marcas") .Options; using (var context = new OficinaPitStopContext(options)) { PreencheMarcas(context); var marcaRepository = new MarcaRepository(context); var marcas = await marcaRepository.ObterTodos(); Assert.NotEmpty(marcas); var marca = marcas.First(); var retornoPorId = marcaRepository.ObterPorId(marca.CodigoMarca); Assert.NotNull(retornoPorId); var retornoPorNome = await marcaRepository.ObterPorNome(marca.Descricao); Assert.NotEmpty(retornoPorNome); } }
public MarcaRepository(OficinaPitStopContext context) { _context = context; }
public ProdutoRepository(OficinaPitStopContext context) { _context = context; }