public async Task TestGetInventoryByProductTestAsync()
        {
            // Arrange
            var logger      = LoggingHelper.GetLogger <WarehouseController>();
            var service     = ServiceMocker.GetWarehouseService(nameof(TestGetInventoryByProductTestAsync));
            var controller  = new WarehouseController(logger, service);
            var productID   = 1;
            var warehouseID = "W0001";

            // Act
            var response = await controller.GetProductInventoryAsync(productID, warehouseID) as ObjectResult;

            var value = response.Value as IListResponse <ProductInventory>;

            service.Dispose();

            // Assert
            Assert.False(value.DidError);
            Assert.True(value.Model.Count() > 0);
        }
        public async Task TestGetInventoryByProductTestAsync()
        {
            // Arrange
            var userInfo   = IdentityMocker.GetWarehouseOperatorIdentity().GetUserInfo();
            var service    = ServiceMocker.GetWarehouseService(userInfo, nameof(TestGetInventoryByProductTestAsync), true);
            var controller = new WarehouseController(LoggingHelper.GetLogger <WarehouseController>(), service);
            var productID  = 1;
            var locationID = "W01";

            // Act
            var response = await controller.GetProductInventoryAsync(productID, locationID) as ObjectResult;

            var value = response.Value as IListResponse <ProductInventory>;

            service.Dispose();

            // Assert
            Assert.False(value.DidError);
            Assert.True(value.Model.Count() > 0);
        }
        public async Task GetInventoryByProductAsync()
        {
            // Arrange
            var userInfo   = IdentityMocker.GetWarehouseOperatorIdentity().GetUserInfo();
            var service    = ServiceMocker.GetWarehouseService(userInfo, nameof(GetInventoryByProductAsync), true);
            var controller = new WarehouseController(null, service);
            var request    = new GetProductInventoryRequest
            {
                ProductID  = 1,
                LocationID = "W01"
            };

            // Act
            var response = await controller.GetProductInventoryAsync(request) as ObjectResult;

            var value = response.Value as IListResponse <ProductInventory>;

            service.Dispose();

            // Assert
            Assert.False(value.DidError);
            Assert.True(value.Model.Count() > 0);
        }