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>"); }