public async Task <ActionResult <List <GoogleBook> > > Search([FromQuery] string type = "", [FromQuery] string query = "") { try { BookInfoScanner scanner = new BookInfoScanner(); switch (type) { case "title": return(Ok(await scanner.SearchByTitleAsync(query))); case "isbn": return (Ok(await scanner.SearchBookByISBNAsync(query))); default: return(Ok(await scanner.SearchGeneralAsync(query))); } } catch (Exception ex) { _logger .LogError($"Error fetching books query: ({type}){query}: {ex.Message}"); return(StatusCode((int)HttpStatusCode .InternalServerError)); } }
public void SearchByISBN() { BookInfoScanner scanner = new BookInfoScanner(); List <GoogleBook> tradingInDangerResults = scanner.SearchBookByISBNAsync("0-345-44760-3").Result; Assert.Single(tradingInDangerResults); // Assert.Equal("Trading in Danger", tradingInDangerResults[0].VolumeInfo.Title); }