feat: simplify specifying the return value of HttpClient setup methods#497
feat: simplify specifying the return value of HttpClient setup methods#497
HttpClient setup methods#497Conversation
Test Results 21 files 21 suites 6m 11s ⏱️ Results for commit b3323da. ♻️ This comment has been updated with latest results. |
There was a problem hiding this comment.
Pull request overview
Adds new HttpClient setup helpers to allow specifying HttpResponseMessage return values more concisely (e.g., .ReturnsAsync(HttpStatusCode.OK)), and updates the web-related tests to use the new overloads.
Changes:
- Introduce
HttpClientExtensions.ReturnsAsync(...)overloads forHttpStatusCode+ optional content/media type. - Refactor existing
HttpClient-related tests to use the simplified.ReturnsAsync(HttpStatusCode.…)form. - Remove duplicated XML
<summary>blocks fromHttpClientExtensionspartials (keeps docs centralized).
Reviewed changes
Copilot reviewed 35 out of 35 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| Tests/Mockolate.Tests/Web/ItExtensionsTests.IsUriTests.cs | Switch HttpClient setups to .ReturnsAsync(HttpStatusCode.OK) |
| Tests/Mockolate.Tests/Web/ItExtensionsTests.IsUriTests.WithQueryTests.cs | Switch HttpClient setups to .ReturnsAsync(HttpStatusCode.OK) |
| Tests/Mockolate.Tests/Web/ItExtensionsTests.IsUriTests.WithPortTests.cs | Switch HttpClient setups to .ReturnsAsync(HttpStatusCode.OK) |
| Tests/Mockolate.Tests/Web/ItExtensionsTests.IsUriTests.WithPathTests.cs | Switch HttpClient setups to .ReturnsAsync(HttpStatusCode.OK) |
| Tests/Mockolate.Tests/Web/ItExtensionsTests.IsUriTests.WithHostTests.cs | Switch HttpClient setups to .ReturnsAsync(HttpStatusCode.OK) |
| Tests/Mockolate.Tests/Web/ItExtensionsTests.IsUriTests.ForHttpAndHttpsTests.cs | Switch HttpClient setups to .ReturnsAsync(HttpStatusCode.OK) |
| Tests/Mockolate.Tests/Web/ItExtensionsTests.IsHttpRequestMessageTests.cs | Switch HttpClient setups to .ReturnsAsync(HttpStatusCode.OK) |
| Tests/Mockolate.Tests/Web/ItExtensionsTests.IsHttpRequestMessageTests.WithHeadersTests.cs | Switch HttpClient setups to .ReturnsAsync(HttpStatusCode.OK) |
| Tests/Mockolate.Tests/Web/ItExtensionsTests.IsHttpRequestMessageTests.WhoseUriIsTests.cs | Switch HttpClient setups to .ReturnsAsync(HttpStatusCode.OK) |
| Tests/Mockolate.Tests/Web/ItExtensionsTests.IsHttpRequestMessageTests.WhoseContentIsTests.cs | Switch HttpClient setups to .ReturnsAsync(HttpStatusCode.OK) |
| Tests/Mockolate.Tests/Web/ItExtensionsTests.IsHttpContentTests.cs | Switch HttpClient setups to .ReturnsAsync(HttpStatusCode.OK) |
| Tests/Mockolate.Tests/Web/ItExtensionsTests.IsHttpContentTests.WithStringTests.cs | Switch HttpClient setups to .ReturnsAsync(HttpStatusCode.OK) |
| Tests/Mockolate.Tests/Web/ItExtensionsTests.IsHttpContentTests.WithStringMatchingTests.cs | Switch HttpClient setups to .ReturnsAsync(HttpStatusCode.OK) |
| Tests/Mockolate.Tests/Web/ItExtensionsTests.IsHttpContentTests.WithMediaTypeTests.cs | Switch HttpClient setups to .ReturnsAsync(HttpStatusCode.OK) |
| Tests/Mockolate.Tests/Web/ItExtensionsTests.IsHttpContentTests.WithHeadersTests.cs | Switch HttpClient setups to .ReturnsAsync(HttpStatusCode.OK) |
| Tests/Mockolate.Tests/Web/ItExtensionsTests.IsHttpContentTests.WithFormDataTests.cs | Switch HttpClient setups to .ReturnsAsync(HttpStatusCode.OK) |
| Tests/Mockolate.Tests/Web/ItExtensionsTests.IsHttpContentTests.WithBytesTests.cs | Switch HttpClient setups to .ReturnsAsync(HttpStatusCode.OK) |
| Tests/Mockolate.Tests/Web/HttpClientExtensionsTests.cs | Update setups to use .ReturnsAsync(HttpStatusCode.OK) |
| Tests/Mockolate.Tests/Web/HttpClientExtensionsTests.Setup.PutTests.cs | Update setups to use .ReturnsAsync(HttpStatusCode.OK) |
| Tests/Mockolate.Tests/Web/HttpClientExtensionsTests.Setup.PostTests.cs | Update setups to use .ReturnsAsync(HttpStatusCode.OK) |
| Tests/Mockolate.Tests/Web/HttpClientExtensionsTests.Setup.PatchTests.cs | Update setups to use .ReturnsAsync(HttpStatusCode.OK) |
| Tests/Mockolate.Tests/Web/HttpClientExtensionsTests.Setup.GetTests.cs | Update setups to use .ReturnsAsync(HttpStatusCode.OK) |
| Tests/Mockolate.Tests/Web/HttpClientExtensionsTests.Setup.DeleteTests.cs | Update setups to use .ReturnsAsync(HttpStatusCode.OK) |
| Tests/Mockolate.Tests/Web/HttpClientExtensionsTests.ReturnsAsyncTests.cs | Add coverage for new ReturnsAsync(HttpStatusCode, …) overloads |
| Source/Mockolate/Web/HttpClientExtensions.Verify.Put.cs | Remove duplicate class <summary> from partial |
| Source/Mockolate/Web/HttpClientExtensions.Verify.Post.cs | Remove duplicate class <summary> from partial |
| Source/Mockolate/Web/HttpClientExtensions.Verify.Patch.cs | Remove duplicate class <summary> from partial |
| Source/Mockolate/Web/HttpClientExtensions.Verify.Get.cs | Remove duplicate class <summary> from partial |
| Source/Mockolate/Web/HttpClientExtensions.Verify.Delete.cs | Remove duplicate class <summary> from partial |
| Source/Mockolate/Web/HttpClientExtensions.Setup.Put.cs | Remove duplicate class <summary> from partial |
| Source/Mockolate/Web/HttpClientExtensions.Setup.Post.cs | Remove duplicate class <summary> from partial |
| Source/Mockolate/Web/HttpClientExtensions.Setup.Patch.cs | Remove duplicate class <summary> from partial |
| Source/Mockolate/Web/HttpClientExtensions.Setup.Get.cs | Remove duplicate class <summary> from partial |
| Source/Mockolate/Web/HttpClientExtensions.Setup.Delete.cs | Remove duplicate class <summary> from partial |
| Source/Mockolate/Web/HttpClientExtensions.ReturnsAsync.cs | Add new ReturnsAsync overloads to build HttpResponseMessage from status/content inputs |
🚀 Benchmark ResultsDetails
|
|
|
This is addressed in release v1.5.0. |



Adds new
HttpClientsetup helpers to allow specifyingHttpResponseMessagereturn values more concisely (e.g.,.ReturnsAsync(HttpStatusCode.OK)), and updates the web-related tests to use the new overloads.Key Changes:
HttpClientExtensions.ReturnsAsync(...)overloads forHttpStatusCode+ optional content/media type.HttpClient-related tests to use the simplified.ReturnsAsync(HttpStatusCode.…)form.<summary>blocks fromHttpClientExtensionspartials (keeps docs centralized).HttpResponseMessagefor HttpClient mocks #491