File tree Expand file tree Collapse file tree 1 file changed +27
-0
lines changed
test/JsonApiDotNetCoreExampleTests/Acceptance/Spec Expand file tree Collapse file tree 1 file changed +27
-0
lines changed Original file line number Diff line number Diff line change @@ -105,5 +105,32 @@ public async Task Cannot_Filter_If_Explicitly_Forbidden()
105105 // assert
106106 Assert . Equal ( HttpStatusCode . BadRequest , response . StatusCode ) ;
107107 }
108+
109+ [ Fact ]
110+ public async Task Can_Filter_On_Not_Equal_Values ( )
111+ {
112+ // arrange
113+ var context = _fixture . GetService < AppDbContext > ( ) ;
114+ var todoItems = _todoItemFaker . Generate ( 5 ) ;
115+ context . TodoItems . AddRange ( todoItems ) ;
116+ await context . SaveChangesAsync ( ) ;
117+
118+ var lastTodoItem = context . TodoItems . Last ( ) ;
119+ var httpMethod = new HttpMethod ( "GET" ) ;
120+ var route = $ "/api/v1/todo-items?filter[guid-property]=ne:{ lastTodoItem . GuidProperty } ";
121+ var request = new HttpRequestMessage ( httpMethod , route ) ;
122+
123+ // act
124+ var response = await _fixture . Client . SendAsync ( request ) ;
125+ var body = await response . Content . ReadAsStringAsync ( ) ;
126+ var deserializedTodoItems = _fixture
127+ . GetService < IJsonApiDeSerializer > ( )
128+ . DeserializeList < TodoItem > ( body ) ;
129+
130+ // assert
131+ Assert . Equal ( HttpStatusCode . OK , response . StatusCode ) ;
132+ Assert . Equal ( deserializedTodoItems . Count ( ) , todoItems . Count ( ) - 1 ) ;
133+ Assert . False ( deserializedTodoItems . Any ( i => i . GuidProperty == lastTodoItem . GuidProperty ) ) ;
134+ }
108135 }
109136}
You can’t perform that action at this time.
0 commit comments