public async Task <string> Handle()
        {
            var productId = "40341144";
            var pageHtml  = await _productWebpageDownloader.GetPageHtml(productId);

            var priceFromPage = _productPageParser.GetPrice(pageHtml);
            var priceFromDb   = await _db.GetPrice(productId);

            if (priceFromPage.HasValue)
            {
                await _db.SetPrice(productId, priceFromPage.Value);
            }

            return(FormatOutput(priceFromPage, priceFromDb, productId));
        }
 public void PageDownloaderReturnsPageWithPrice(string price)
 {
     _productWebpageDownloader.GetPageHtml(_productId).Returns($@"<html><body><span id=""price5"">{price}</span></body></html>");
 }