public async Task Should_UpdateProductStockInChannelEngine()
        {
            var dataSource = new ChannelEngineDataSource(ApiUrl, ApiKey);
            var merchantNo = "001201";
            var value      = 10;

            await dataSource.UpdateProductStock(merchantNo, value);
        }
        public async Task Should_ReturnOnlyOrdersInProgress()
        {
            var dataSource = new ChannelEngineDataSource(ApiUrl, ApiKey);

            var orders = await dataSource.GetInProgressOrdersAsync();

            Assert.All(orders, x => Assert.Equal("IN_PROGRESS", x.Status));
        }
        public async Task Should_GetProductsFromChannelEngine()
        {
            var dataSource = new ChannelEngineDataSource(ApiUrl, ApiKey);

            var products = await dataSource.GetProductsAsync();

            Assert.NotEmpty(products);
        }
        public async Task Should_GetOrdersFromChannelEngine()
        {
            var dataSource = new ChannelEngineDataSource(ApiUrl, ApiKey);

            var orders = await dataSource.GetInProgressOrdersAsync();

            Assert.NotEmpty(orders);
        }
        public void Should_ThrowExcepion_When_UpdateProductStockDoesNotExistInChannelEngine()
        {
            var dataSource = new ChannelEngineDataSource(ApiUrl, ApiKey);
            var merchantNo = "";
            var value      = 10;

            async Task action() => await dataSource.UpdateProductStock(merchantNo, value);

            Assert.ThrowsAsync <StockUpdateException>(action);
        }