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