public void InsertarArtículo_RetornaId_1() { // Arrange var connectionStringBuilder = new SqliteConnectionStringBuilder { DataSource = ":memory:" }; var connection = new SqliteConnection(connectionStringBuilder.ToString()); var options = new DbContextOptionsBuilder <IntegraDbContext>() .UseSqlite(connection) .Options; using (var context = new IntegraDbContext(options)) { context.Database.OpenConnection(); context.Database.EnsureCreated(); } using (var context = new IntegraDbContext(options)) { var repositorio = new ArtículoRepository(context); // Act repositorio.Adicionar(new Artículo { ArtículoSubTipoId = 1, UnidadId = 11, Código = "LEC001", Nombre = "Leche Entera", EstadoId = EstadoEnum.Activo }); repositorio.SaveChanges(); var objeto = repositorio.BuscarPrimero(artículo => artículo.Nombre == "Leche Entera"); // Assert Assert.Equal((uint)1, objeto.ArtículoId); } }
public void InsertarAcciónDeInventario_NadaRaro_RetornaId_1() { // Arrange var connectionStringBuilder = new SqliteConnectionStringBuilder { DataSource = ":memory:" }; var connection = new SqliteConnection(connectionStringBuilder.ToString()); var options = new DbContextOptionsBuilder <IntegraDbContext>() .UseSqlite(connection) .Options; using (var context = new IntegraDbContext(options)) { context.Database.OpenConnection(); context.Database.EnsureCreated(); } // Incluir artículos using (var context = new IntegraDbContext(options)) { var repositorioArtículos = new ArtículoRepository(context); repositorioArtículos.Adicionar(new Artículo { ArtículoSubTipoId = 1, UnidadId = 11, Código = "LEC001", Nombre = "Leche Entera", EstadoId = EstadoEnum.Activo }); repositorioArtículos.Adicionar(new Artículo { ArtículoSubTipoId = 1, UnidadId = 11, Código = "LEC002", Nombre = "Leche Descremada", EstadoId = EstadoEnum.Activo }); repositorioArtículos.SaveChanges(); } // Incluir inventario using (var context = new IntegraDbContext(options)) { var repositorio = new InventarioRepository(context); repositorio.Adicionar(new Inventario { BodegaId = 1, ArtículoId = 1, UbicaciónId = 1, UnidadId = 1, Cantidad = 100 }); repositorio.Adicionar(new Inventario { BodegaId = 1, ArtículoId = 2, UbicaciónId = 1, UnidadId = 1, Cantidad = 100 }); repositorio.SaveChanges(); } // Incluir acción using (var context = new IntegraDbContext(options)) { var repositorio = new AcciónDeInventarioRepository(context); AcciónDeInventario acción = new AcciónDeInventario(); ulong id = 1; acción.AcciónDeInventarioId = id; acción.ClienteId = 1; acción.BodegaId = 1; acción.VendedorId = 1; acción.Signo = -1; acción.Fecha = System.DateTime.Now; List <AcciónDeInventarioDetalle> detalles = new List <AcciónDeInventarioDetalle>(); detalles.Add(new AcciónDeInventarioDetalle { AcciónDeInventarioId = id, NúmeroDeLinea = 1, ArtículoId = 1, Cantidad = 1, PrecioUnitario = 5 }); detalles.Add(new AcciónDeInventarioDetalle { AcciónDeInventarioId = id, NúmeroDeLinea = 2, ArtículoId = 2, Cantidad = 1, PrecioUnitario = 10 }); acción.CantidadDeLíneas = (ushort)detalles.Count(); acción.Total = 15; acción.AcciónDeInventarioDetalles = detalles; // Act repositorio.Adicionar(acción); repositorio.SaveChanges(); var objeto = repositorio.TraerUnoAsync(o => o.AcciónDeInventarioId == id, new List <string> { "AcciónDeInventarioDetalles" }); // Assert Assert.Equal(id, objeto.Result.AcciónDeInventarioId); Assert.Equal(2, objeto.Result.AcciónDeInventarioDetalles.Count()); } }