Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/dotnet/aspnetcore.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/Http/Http.Results/test/ProblemResultTests.cs')
-rw-r--r--src/Http/Http.Results/test/ProblemResultTests.cs32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/Http/Http.Results/test/ProblemResultTests.cs b/src/Http/Http.Results/test/ProblemResultTests.cs
index 4e6c38a567..688bd1ecf7 100644
--- a/src/Http/Http.Results/test/ProblemResultTests.cs
+++ b/src/Http/Http.Results/test/ProblemResultTests.cs
@@ -70,6 +70,38 @@ public class ProblemResultTests
}
[Fact]
+ public async Task ExecuteAsync_IncludeErrors_ForValidationProblemDetails()
+ {
+ // Arrange
+ var details = new HttpValidationProblemDetails(new Dictionary<string, string[]>
+ {
+ { "testError", new string[] { "message" } }
+ });
+
+ var result = new ProblemHttpResult(details);
+ var stream = new MemoryStream();
+ var httpContext = new DefaultHttpContext()
+ {
+ RequestServices = CreateServices(),
+ Response =
+ {
+ Body = stream,
+ },
+ };
+
+ // Act
+ await result.ExecuteAsync(httpContext);
+
+ // Assert
+ Assert.Equal(StatusCodes.Status400BadRequest, httpContext.Response.StatusCode);
+ stream.Position = 0;
+ var responseDetails = JsonSerializer.Deserialize<HttpValidationProblemDetails>(stream);
+ Assert.Equal(StatusCodes.Status400BadRequest, responseDetails.Status);
+ var error = Assert.Single(responseDetails.Errors);
+ Assert.Equal("testError", error.Key);
+ }
+
+ [Fact]
public async Task ExecuteAsync_GetsStatusCodeFromProblemDetails()
{
// Arrange