public async Task PostAsync_ShouldPostSuccessfully()
        {
            //Arrange
            _httpMessageHandler.Protected().Setup <Task <HttpResponseMessage> >("SendAsync",
                                                                                ItExpr.IsAny <HttpRequestMessage>(),
                                                                                ItExpr.IsAny <CancellationToken>())
            .ReturnsAsync(new HttpResponseMessage()
            {
                StatusCode = HttpStatusCode.OK
            });

            var httpClient = new HttpClient(_httpMessageHandler.Object)
            {
                BaseAddress = new Uri("http://test.com/"),
            };

            _httpClientFactory.Setup(x => x.CreateClient("Test")).Returns(httpClient);

            //Act
            await _httpClientAdapter.PostAsync("Test", "/tests", new { Id = 1, Name = "Name" });

            //Assert
            _httpMessageHandler.Protected().Verify(
                "SendAsync",
                Times.Once(),
                ItExpr.Is <HttpRequestMessage>(request =>
                                               request.Method == HttpMethod.Post
                                               //&& request.Content == new StringContent("{\"Id\":1,\"Name\":\"Name\"}", Encoding.UTF8, "application/json")
                                               && request.RequestUri == new Uri("http://test.com/tests")
                                               ), ItExpr.IsAny <CancellationToken>());
        }