public async Task SHOULD_post_content_to_correct_endpoint()
            {
                //Arrange
                MockHttpClientFactory.Where_CreateClient_returns(new HttpClient(MockMessageHandler.Build().Object));

                //Act
                await Sut.PostAsync("http://baseaddress.com/testroute", new TestDto { TestDtoProperty = "hello world" }, CancellationToken.None);

                //Assert
                MockMessageHandler.VerifyUri("http://baseaddress.com/testroute");
                MockMessageHandler.VerifyContent(x => x.Contains("hello world"));
            }
        public async Task SHOULD_send_to_correct_endpoint()
        {
            //Arrange
            var wrapper = GetWrapper();

            MockHttpClientFactory.Where_CreateClient_returns(new HttpClient(MockMessageHandler.Build().Object));

            //Act
            await ExecuteAsync(wrapper, CancellationToken.None);

            //Assert
            MockMessageHandler.VerifyUri("http://baseaddress.com/testroute");
            MockMessageHandler.VerifyMethod(GetHttpMethod());
        }
        public async Task SHOULD_append_query_string_parameters()
        {
            //Arrange
            var wrapper = GetWrapper()
                          .WithQueryStringParameter("userId", "123")
                          .WithQueryStringParameter("name", "Bob");

            MockHttpClientFactory.Where_CreateClient_returns(new HttpClient(MockMessageHandler.Build().Object));

            //Act
            await ExecuteAsync(wrapper, CancellationToken.None);

            //Assert
            MockMessageHandler.VerifyUri("http://baseaddress.com/testroute?userId=123&name=Bob");
        }