Пример #1
0
        public async Task GetItemsAsyncWithItems()
        {
            // arrange
            string testJson = JsonConvert.SerializeObject(_testItems);

            var mockMessageHandler = new Mock <HttpMessageHandler>();

            mockMessageHandler.Protected()
            .Setup <Task <HttpResponseMessage> >("SendAsync", ItExpr.IsAny <HttpRequestMessage>(), ItExpr.IsAny <CancellationToken>())
            .Returns(Task.FromResult(new HttpResponseMessage
            {
                StatusCode = HttpStatusCode.OK,
                Content    = new StringContent(testJson)
            }));
            var httpClient = new HttpClient(mockMessageHandler.Object);

            IEnumerable <AnItem> items = await HttpClientExtensions.GetItemsAsync <AnItem>(httpClient, "https://www.cninnovation.com");

            Assert.Collection(_testItems,
                              item1 => Assert.Equal("first", item1.Text),
                              item2 => Assert.Equal("second", item2.Text));
        }