コード例 #1
0
        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
        }
コード例 #2
0
        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);
                    }

                                         );
                }
            }
        }
コード例 #3
0
 public InventarioItemManager(ILogger <InventarioItemManager> logger, IMapper mapper,
                              IInventarioItemService inventariosService)
 {
     _logger             = logger;
     _mapper             = mapper;
     _inventariosService = inventariosService;
 }
コード例 #4
0
        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
        }
コード例 #5
0
        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
        }
コード例 #6
0
        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
        }
コード例 #7
0
        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
        }
コード例 #8
0
        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
        }
コード例 #9
0
        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
        }
コード例 #10
0
        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
        }
コード例 #11
0
        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
        }