File tree Expand file tree Collapse file tree 2 files changed +33
-1
lines changed Expand file tree Collapse file tree 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)
5353 httpContext . Response . StatusCode = code ;
5454 }
5555
56- return HttpResultsHelper . WriteResultAsJsonAsync (
56+ return HttpResultsHelper . WriteResultAsJsonAsync < object ? > (
5757 httpContext ,
5858 logger ,
5959 value : ProblemDetails ,
Original file line number Diff line number Diff line change @@ -69,6 +69,38 @@ public async Task ExecuteAsync_UsesDefaults_ForValidationProblemDetails()
6969 Assert . Equal ( StatusCodes . Status400BadRequest , responseDetails . Status ) ;
7070 }
7171
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+
72104 [ Fact ]
73105 public async Task ExecuteAsync_GetsStatusCodeFromProblemDetails ( )
74106 {
You can’t perform that action at this time.
0 commit comments