예제 #1
0
        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);
            }
        }