public async Task <List <Summary> > GetSummaries(Recipes recipes) { List <Summary> summaries = new List <Summary>(); foreach (var item in recipes.results) { Task <Summary> summary = processor.LoadSummary(item.id); var summaryResult = await summary; summaries.Add(summaryResult); } return(summaries); }
public async void ShouldReturnSummary() { var handlerMock = new Mock <HttpMessageHandler>(); var response = new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent("{ \"id\": 4632, \"summary\": \"The recipe Soy-and-Ginger-Glazed Salmon with Udon Noodles can be made <b>in approximately 1 hour and 35 minutes </b>. One portion of this dish contains about <b>48g of protein </b>, <b>17g of fat </b>, and a total of <b>552 calories </b>. This recipe serves 4. For <b>$5.91 per serving </b>, this recipe <b>covers 47% </b> of your daily requirements of vitamins and minerals. It works well as a main course. 1 person has tried and liked this recipe. It is brought to you by Food and Wine. If you have fresh ginger, udon noodles, salmon fillets, and a few other ingredients on hand, you can make it. It is a good option if you're following a <b>dairy free and pescatarian </b> diet. All things considered, we decided this recipe <b>deserves a spoonacular score of 92% </b>. This score is great. If you like this recipe, take a look at these similar recipes: Salmon With Soy-ginger Noodles, Ginger-Soy Salmon With Soba Noodles, and Soy & ginger salmon with soba noodles.\", \"title\": \"Soy-and-Ginger-Glazed Salmon with Udon Noodles\"}"), }; handlerMock .Protected() .Setup <Task <HttpResponseMessage> >( "SendAsync", ItExpr.IsAny <HttpRequestMessage>(), ItExpr.IsAny <CancellationToken>()) .ReturnsAsync(response); var httpClient = new HttpClient(handlerMock.Object); RecipeProcessor processor = new RecipeProcessor(httpClient); var results = await processor.LoadSummary(4632); Summary testSummary = new Summary(); testSummary.id = 4632; testSummary.title = "Soy-and-Ginger-Glazed Salmon with Udon Noodles"; testSummary.summary = "The recipe Soy-and-Ginger-Glazed Salmon with Udon Noodles can be made <b>in approximately 1 hour and 35 minutes </b>. One portion of this dish contains about <b>48g of protein </b>, <b>17g of fat </b>, and a total of <b>552 calories </b>. This recipe serves 4. For <b>$5.91 per serving </b>, this recipe <b>covers 47% </b> of your daily requirements of vitamins and minerals. It works well as a main course. 1 person has tried and liked this recipe. It is brought to you by Food and Wine. If you have fresh ginger, udon noodles, salmon fillets, and a few other ingredients on hand, you can make it. It is a good option if you're following a <b>dairy free and pescatarian </b> diet. All things considered, we decided this recipe <b>deserves a spoonacular score of 92% </b>. This score is great. If you like this recipe, take a look at these similar recipes: Salmon With Soy-ginger Noodles, Ginger-Soy Salmon With Soba Noodles, and Soy & ginger salmon with soba noodles."; var testSummaryResults = JsonConvert.SerializeObject(testSummary); var retrievedResults = JsonConvert.SerializeObject(results); Assert.Equal(testSummaryResults, retrievedResults); handlerMock.Protected().Verify( "SendAsync", Times.Exactly(1), ItExpr.Is <HttpRequestMessage>(req => req.Method == HttpMethod.Get), ItExpr.IsAny <CancellationToken>()); }