File tree 2 files changed +33
-1
lines changed 2 files changed +33
-1
lines changed Original file line number Diff line number Diff line change @@ -53,7 +53,7 @@ public Task ExecuteAsync(HttpContext httpContext)
53
53
httpContext . Response . StatusCode = code ;
54
54
}
55
55
56
- return HttpResultsHelper . WriteResultAsJsonAsync (
56
+ return HttpResultsHelper . WriteResultAsJsonAsync < object ? > (
57
57
httpContext ,
58
58
logger ,
59
59
value : ProblemDetails ,
Original file line number Diff line number Diff line change @@ -69,6 +69,38 @@ public async Task ExecuteAsync_UsesDefaults_ForValidationProblemDetails()
69
69
Assert . Equal ( StatusCodes . Status400BadRequest , responseDetails . Status ) ;
70
70
}
71
71
72
+ [ Fact ]
73
+ public async Task ExecuteAsync_IncludeErrors_ForValidationProblemDetails ( )
74
+ {
75
+ // Arrange
76
+ var details = new HttpValidationProblemDetails ( new Dictionary < string , string [ ] >
77
+ {
78
+ { "testError" , new string [ ] { "message" } }
79
+ } ) ;
80
+
81
+ var result = new ProblemHttpResult ( details ) ;
82
+ var stream = new MemoryStream ( ) ;
83
+ var httpContext = new DefaultHttpContext ( )
84
+ {
85
+ RequestServices = CreateServices ( ) ,
86
+ Response =
87
+ {
88
+ Body = stream ,
89
+ } ,
90
+ } ;
91
+
92
+ // Act
93
+ await result . ExecuteAsync ( httpContext ) ;
94
+
95
+ // Assert
96
+ Assert . Equal ( StatusCodes . Status400BadRequest , httpContext . Response . StatusCode ) ;
97
+ stream . Position = 0 ;
98
+ var responseDetails = JsonSerializer . Deserialize < HttpValidationProblemDetails > ( stream ) ;
99
+ Assert . Equal ( StatusCodes . Status400BadRequest , responseDetails . Status ) ;
100
+ var error = Assert . Single ( responseDetails . Errors ) ;
101
+ Assert . Equal ( "testError" , error . Key ) ;
102
+ }
103
+
72
104
[ Fact ]
73
105
public async Task ExecuteAsync_GetsStatusCodeFromProblemDetails ( )
74
106
{
You can’t perform that action at this time.
0 commit comments