示例#1
0
        public void DeveInserirAtualizarDeletarUm()
        {
            var repo = GetRepo();

            var produto = new EntidadeGenericaA(MockValues.NomeGenericoA, MockValues.ValorGenericoA);

            repo.Insert(produto);

            Assert.True(produto.Id > 0);

            var produtoSelectInsert = GetById(produto);

            Assert.NotNull(produtoSelectInsert);

            produto.Nome  = MockValues.NomeGenericoB;
            produto.Valor = MockValues.ValorGenericoB;

            repo.Update(produto);

            var produtoSelectUpdate = GetById(produto);

            Assert.Equal(produtoSelectUpdate.Nome, MockValues.NomeGenericoB);
            Assert.Equal(produtoSelectUpdate.Valor, MockValues.ValorGenericoB);

            repo.Delete(produto);

            var produtoSelectDelete = GetById(produto);

            Assert.Null(produtoSelectDelete);
        }
示例#2
0
        public void DeveInserirUm()
        {
            var repo = GetRepo();

            var produto = new EntidadeGenericaA(MockValues.NomeGenericoA, MockValues.ValorGenericoA);

            repo.Insert(produto);

            Assert.True(produto.Id > 0);
        }
示例#3
0
        public void DeveNaoDeletarInvalidoUm()
        {
            var repo = GetRepo();

            var produto = new EntidadeGenericaA(MockValues.NomeGenericoA, MockValues.ValorGenericoA);

            produto.Id = 12345;

            Assert.Throws <DbUpdateConcurrencyException>(
                () =>
            {
                repo.Delete(produto);
            }
                );
        }
示例#4
0
        public void DeveIgnorarUm()
        {
            var repo = GetRepo();

            EntidadeGenericaA produto = null;

            repo.Insert(produto);
            Assert.Null(produto);

            repo.Update(produto);
            Assert.Null(produto);

            repo.Delete(produto);
            Assert.Null(produto);

            var find = repo.FindById <int>(-1);

            Assert.Null(find);
        }
示例#5
0
        public void DeveInserirEDeletarUm()
        {
            var repo = GetRepo();

            var produto = new EntidadeGenericaA(MockValues.NomeGenericoA, MockValues.ValorGenericoA);

            repo.Insert(produto);

            var produtoSelectInsert = GetById(produto);

            Assert.NotNull(produtoSelectInsert);

            repo = GetRepo();

            var produtoSelectToDelete = repo.FindById(produtoSelectInsert.Id);

            repo.Delete(produtoSelectToDelete);

            var produtoSelectDelete = GetById(produtoSelectToDelete);

            Assert.Null(produtoSelectDelete);
        }
示例#6
0
        public void DeveIgnorarFindVarios()
        {
            var repo = GetRepo();

            var listaTeste1 = repo.FindByIds(new int[] { 12345, 212345 });

            Assert.Empty(listaTeste1);

            int[] lista = null;

            var listaTeste2 = repo.FindByIds(lista);

            Assert.Empty(listaTeste2);

            var produto = new EntidadeGenericaA(MockValues.NomeGenericoA, MockValues.ValorGenericoA);

            repo.Insert(produto);

            var listaTeste3 = repo.FindByIds(new int[] { produto.Id, 4434342 }).ToArray();

            Assert.NotEmpty(listaTeste3);
            Assert.Single(listaTeste3);
        }
示例#7
0
 /// <summary>
 /// É um bug conhecido no In Memory Database, um novo context deve ser aberto para acessar os dados salvos inicialmente
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 private EntidadeGenericaA GetById(EntidadeGenericaA model)
 {
     return(GetById(model.Id));
 }