예제 #1
0
        public void CreateNewInventoryItemIntoTheDatabase()
        {
            //Arrange
            var context = GetPopulatedInMemoryDbContext();
            //PopulateFakeInventoryItemsList();
            var fakeList = _fakeInventoryItemsList;

            InventoryItem fakeInventoryItemToCreate = new InventoryItem()
            {
                InventoryItemId = 6,
                PartName        = "Shiny",
                PartNumber      = "SHI-747",
                OrderLeadTime   = 6,
                QuantityOnHand  = 4,
                SafetyStock     = 5,
                Created         = DateTime.Now,
                CreatedBy       = "Tester",
            };

            //Mock<IInventoryItemsRepository> mockRepo = new Mock<IInventoryItemsRepository>();
            //mockRepo.Setup(m => m.CreateInventoryItem(It.IsAny<InventoryItem>())).Returns(fakeInventoryItemToCreate);
            //mockRepo.Setup(m => m.GetAll()).Returns(() => fakeList);

            //InventoryItemsService sut = new InventoryItemsService(mockRepo.Object);
            IInventoryItemsRepository sut = new InventoryItemsRepository(context);

            //Act
            var newFakeInventoryItem     = sut.CreateInventoryItem(fakeInventoryItemToCreate);
            var fakeListOfInventoryItems = sut.GetAll();

            //Assert
            Assert.Contains(newFakeInventoryItem, fakeListOfInventoryItems);
        }
예제 #2
0
        public async void When_DepreciatingInventoryItems_Expect_CurrentPriceDepreciated()
        {
            var allInventoryItems = await _inventoryItemRepository.GetAll();

            var formerPrices = allInventoryItems.Where(item => item.InventoryCategoryId != licenseCategoryId)
                               .Select(item => item.CurrentPrice).ToList();

            await _backgroundInventoryUpdater.ApplyDepreciationToInventoryItems();

            var allUpdatedInventoryItems = await _inventoryItemRepository.GetAll();

            var tangibleItems = allUpdatedInventoryItems.Where(item => item.InventoryCategoryId != licenseCategoryId);

            for (int i = 0; i < tangibleItems.Count(); i++)
            {
                var currentPrice = tangibleItems.ElementAt(i).CurrentPrice;
                var formerPrice  = formerPrices.ElementAt(i);
                Assert.True(currentPrice < formerPrice, "Failed to depreciate all tangible items.");
            }
        }