コード例 #1
0
        public void FindRecipeByIngredients()
        {
            var httpClient       = new HttpClient(_handlerMock.Object);
            var subjectUnderTest = new RecipeRepository(_options, httpClient, _cacheServiceMock.Object);

            IngredientsQuery ingredients = new IngredientsQuery()
            {
                Ingredients = new List <string>
                {
                    "apples", "flour", "sugar"
                }
            };

            var result = subjectUnderTest.FindRecipeByIngredients(ingredients);

            result.Should().NotBeNull();

            var expectedUri =
                new Uri(
                    "https://serverTest.com/recipes/findByIngredients?ingredients=apples,+flour,+sugar&number=25&123");

            _handlerMock.Protected().Verify(
                "SendAsync",
                Times.Exactly(2),
                ItExpr.Is <HttpRequestMessage>(req =>
                                               req.Method == HttpMethod.Get &&
                                               req.RequestUri == expectedUri
                                               ),
                ItExpr.IsAny <CancellationToken>()
                );
        }