public void Given_Region_Is_OutofStock_When_Applying_Stock_Changes_Due_To_ITL_Notifications_Should_Return_A_Stock_Status_Not_Equal_To_OutofStock() { // Arrange var regionStock = new RegionStockItem("UK", 0, new RegionStockItemStatus(10, StockStatus.OutOfStock), new List <WarehouseAvailableStockItem>(), DateTime.UtcNow); var warehouseAvailableStock = new WarehouseAvailableStockItem("FC01", "123", 10, 0, 0, DateTime.Now); // Act regionStock.ApplyStockChanges(warehouseAvailableStock); // Assert Assert.AreEqual(regionStock.Status.Value, StockStatus.InStock); Assert.AreEqual(regionStock.Quantity, 10); Assert.AreEqual(regionStock.Version, warehouseAvailableStock.Version); }
public void Given_Region_Is_InStock_When_Applying_Low_In_Stock_StockChange_Should_Return_A_Stock_Status_Is_Equal_To_Low_In_Stock() { // Arrange var regionStock = new RegionStockItem("UK", 10, new RegionStockItemStatus(10, StockStatus.InStock), new List <WarehouseAvailableStockItem> { new WarehouseAvailableStockItem("FC01", "123", 10, 0, 0, DateTime.UtcNow) }, DateTime.UtcNow); var warehouseAvailableStock = new WarehouseAvailableStockItem("FC01", "123", 9, 1, 0, DateTime.Now); // Act regionStock.ApplyStockChanges(warehouseAvailableStock); // Assert Assert.AreEqual(regionStock.Status.Value, StockStatus.LowInStock); Assert.AreEqual(regionStock.Quantity, 9); Assert.AreEqual(regionStock.Version, warehouseAvailableStock.Version); }