File tree 1 file changed +27
-0
lines changed
test/JsonApiDotNetCoreExampleTests/Acceptance/Spec
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()
105
105
// assert
106
106
Assert . Equal ( HttpStatusCode . BadRequest , response . StatusCode ) ;
107
107
}
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
+ }
108
135
}
109
136
}
You can’t perform that action at this time.
0 commit comments