public void ActualizarItemTestMethod_Ok() { #region Arrange InventarioItem item = new InventarioItem() { Id = Guid.NewGuid(), Nombre = "item2", Unidades = 500, IsNotificacionExpiradaEnviada = true, FechaCaducidad = DateTime.Today.AddDays(-5) }; IInventarioItemService service = CreateInventarioService(); _inventarioItemRepositoryMocked.Setup(s => s.Update(It.IsAny <InventarioItem>())).Verifiable(); _inventarioItemRepositoryMocked.Setup(s => s.UnitOfWork).Returns(It.IsAny <IUnitOfWork>()); _ = _inventarioItemRepositoryMocked.Setup(s => s.UnitOfWork.SaveChangesAsync(It.IsAny <CancellationToken>())).Returns(Task.FromResult(1)); #endregion #region Act var actual = service.ActualizarItem(item).GetAwaiter().GetResult(); #endregion #region Assert Assert.IsTrue(actual); _inventarioItemRepositoryMocked.Verify(s => s.Update(It.IsAny <InventarioItem>()), Times.Once); #endregion }
private async void SearchExpired(object state) { using (var scope = _services.CreateScope()) { _inventarioItemService = scope.ServiceProvider .GetRequiredService <IInventarioItemService>(); var itemsExpired = (await _inventarioItemService.GetExpired()).ToList(); if (itemsExpired.Any()) { itemsExpired.ForEach(item => { var task1 = _hub.Clients.All.SendAsync("ItemExpired", new ExpiredMessageReceived() { Id = item.Id, Name = item.Nombre }); item.IsNotificacionExpiradaEnviada = true; var task2 = _inventarioItemService.ActualizarItem(item); Task.WaitAll(task1, task2); } ); } } }
public InventarioItemManager(ILogger <InventarioItemManager> logger, IMapper mapper, IInventarioItemService inventariosService) { _logger = logger; _mapper = mapper; _inventariosService = inventariosService; }
public void GetAllTestMethod_Exception() { #region Arrange IInventarioItemService service = CreateInventarioService(); _inventarioItemRepositoryMocked.Setup(s => s.AsQueryable()).Throws(new KeyNotFoundException("Clave primaria no encontrada")); #endregion #region Act service.GetAll().GetAwaiter().GetResult(); #endregion }
public void GetExpiredTestMethod_Exception() { #region Arrange IInventarioItemService service = CreateInventarioService(); _inventarioItemRepositoryMocked.Setup(s => s.FindByAsync(It.IsAny <Expression <Func <InventarioItem, bool> > >())).Throws(new Exception("Error en la cadena de conexión.")); #endregion #region Act service.GetExpired().GetAwaiter().GetResult(); #endregion }
public void ActualizarItemNullTestMethod_Exception() { #region Arrange InventarioItem item = null; IInventarioItemService service = CreateInventarioService(); _inventarioItemRepositoryMocked.Setup(s => s.Update(It.IsAny <InventarioItem>())).Verifiable(); _inventarioItemRepositoryMocked.Setup(s => s.UnitOfWork).Returns(It.IsAny <IUnitOfWork>()); _ = _inventarioItemRepositoryMocked.Setup(s => s.UnitOfWork.SaveChangesAsync(It.IsAny <CancellationToken>())).Returns(Task.FromResult(1)); #endregion #region Act var actual = service.ActualizarItem(item).GetAwaiter().GetResult(); #endregion }
public void GetAllTestMethod_Ok() { #region Arrange IQueryable <InventarioItem> expected = new List <InventarioItem>() { new InventarioItem() { Id = Guid.NewGuid(), Nombre = "item1", Unidades = 500, IsNotificacionExpiradaEnviada = false, FechaCaducidad = DateTime.Today.AddDays(5) }, new InventarioItem() { Id = Guid.NewGuid(), Nombre = "item2", Unidades = 500, IsNotificacionExpiradaEnviada = true, FechaCaducidad = DateTime.Today.AddDays(-5) } }.AsQueryable(); IInventarioItemService service = CreateInventarioService(); _inventarioItemRepositoryMocked.Setup(s => s.AsQueryable()).Returns(expected); #endregion #region Act var actual = service.GetAll().GetAwaiter().GetResult(); #endregion #region Assert Assert.IsNotNull(actual); Assert.AreEqual(actual.Count(), expected.Count()); foreach (var item in actual) { Assert.IsTrue(expected.Any(x => x.Id == item.Id && x.Nombre == item.Nombre && x.Unidades == item.Unidades && x.IsNotificacionExpiradaEnviada == item.IsNotificacionExpiradaEnviada)); } _inventarioItemRepositoryMocked.Verify(s => s.AsQueryable(), Times.Once); #endregion }
public void SacarItemEmptyPrimaryKeyTestMethod_Exception() { #region Arrange InventarioItem item = new InventarioItem() { Id = new Guid() }; IInventarioItemService service = CreateInventarioService(); _inventarioItemRepositoryMocked.Setup(s => s.Add(It.IsAny <InventarioItem>())).Verifiable(); _inventarioItemRepositoryMocked.Setup(s => s.UnitOfWork).Returns(It.IsAny <IUnitOfWork>()); _ = _inventarioItemRepositoryMocked.Setup(s => s.UnitOfWork.SaveChangesAsync(It.IsAny <CancellationToken>())).Returns(Task.FromResult(1)); #endregion #region Act var actual = service.SacarItem(item).GetAwaiter().GetResult(); #endregion }
public void InsertItemSaveChangesErrorMethod_Exception() { #region Arrange InventarioItem item = new InventarioItem() { Id = Guid.NewGuid(), Nombre = "item2", Unidades = 500, IsNotificacionExpiradaEnviada = true, FechaCaducidad = DateTime.Today.AddDays(-5) }; IInventarioItemService service = CreateInventarioService(); _inventarioItemRepositoryMocked.Setup(s => s.Add(It.IsAny <InventarioItem>())).Verifiable(); _inventarioItemRepositoryMocked.Setup(s => s.UnitOfWork).Returns(It.IsAny <IUnitOfWork>()); _ = _inventarioItemRepositoryMocked.Setup(s => s.UnitOfWork.SaveChangesAsync(It.IsAny <CancellationToken>())).Throws <Exception>(); #endregion #region Act var actual = service.InsertarItem(item).GetAwaiter().GetResult(); #endregion }
public void GetExpiredTestMethod_Ok() { #region Arrange IEnumerable <InventarioItem> expected = new List <InventarioItem>() { new InventarioItem() { Id = Guid.NewGuid(), Nombre = "item2", Unidades = 500, IsNotificacionExpiradaEnviada = true, FechaCaducidad = DateTime.Today.AddDays(-5) } }; IInventarioItemService service = CreateInventarioService(); _inventarioItemRepositoryMocked.Setup(s => s.FindByAsync(It.IsAny <Expression <Func <InventarioItem, bool> > >())).Returns(Task.FromResult(expected)); #endregion #region Act var actual = service.GetExpired().GetAwaiter().GetResult(); #endregion #region Assert Assert.IsNotNull(actual); Assert.AreEqual(actual.Count(), expected.Count()); foreach (var item in actual) { Assert.IsTrue(expected.Any(x => x.Id == item.Id && x.Nombre == item.Nombre && x.Unidades == item.Unidades && x.IsNotificacionExpiradaEnviada == item.IsNotificacionExpiradaEnviada && x.FechaCaducidad < DateTime.UtcNow)); } _inventarioItemRepositoryMocked.Verify(s => s.FindByAsync(It.IsAny <Expression <Func <InventarioItem, bool> > >()), Times.Once); #endregion }
public void GetExpiredTestMethod_ReturnNull_Ok() { #region Arrange IEnumerable <InventarioItem> expected = null; IInventarioItemService service = CreateInventarioService(); _inventarioItemRepositoryMocked.Setup(s => s.FindByAsync(It.IsAny <Expression <Func <InventarioItem, bool> > >())).Returns(Task.FromResult(expected)); #endregion #region Act var actual = service.GetExpired().GetAwaiter().GetResult(); #endregion #region Assert Assert.IsNull(actual); _inventarioItemRepositoryMocked.Verify(s => s.FindByAsync(It.IsAny <Expression <Func <InventarioItem, bool> > >()), Times.Once); #endregion }