Пример #1
0
        public async Task GivenSuccessResponseFromServer_WhenArticlePosted_ThenSuccessMessageIsReturned()
        {
            var response       = @"{
  ""title"": ""THE TITLE"",
  ""description"": ""THE DESCRIPTION"",
  ""id"": 101
}";
            var messageHandler = new MockHttpMessageHandler();

            MockHttpMessageHandler.RegisterResponse(HttpStatusCode.OK, response);
            var httpClient = new HttpClient(messageHandler)
            {
                BaseAddress = new Uri("http://not-important.com")
            };
            var sut = new BlogClient(httpClient);

            var result = await sut.CreateArticle(new Article
            {
                Title       = "THE TITLE",
                Description = "THE DESCRIPTION"
            });

            result.Success.Should().BeTrue();
            result.Message.Should().Be("Article 'THE TITLE' created with id 101");
            messageHandler.Input.Should().Be(@"{""title"":""THE TITLE"",""description"":""THE DESCRIPTION"",""canonical_url"":null}");
            messageHandler.NumberOfCalls.Should().Be(1);
        }
Пример #2
0
        private static async Task CreateArticle(BlogClient blogClient)
        {
            var article = new Article
            {
                Title       = "My awesome blog post",
                Description = "This is a super awesome post about stuff I know."
            };

            var result = await blogClient.CreateArticle(article);

            Console.WriteLine(result.Message);
        }
        public async Task GivenErrorResponseFromServer_WhenArticlePosted_ThenErrorMessageIsReturned()
        {
            var response       = string.Empty;
            var messageHandler = new MockHttpMessageHandler(response, HttpStatusCode.InternalServerError);
            var httpClient     = new HttpClient(messageHandler)
            {
                BaseAddress = new Uri("http://not-important.com")
            };
            var sut = new BlogClient(httpClient);

            var result = await sut.CreateArticle(new Article
            {
                Title       = "THE TITLE",
                Description = "THE DESCRIPTION"
            });

            result.Success.Should().BeFalse();
            result.Message.Should().Be("That went wrong!");
        }