Skip to content

Commit b59ea15

Browse files
MilosMilos
Milos
authored and
Milos
committed
Add NotEqual acceptance test
1 parent 9bc4285 commit b59ea15

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

test/JsonApiDotNetCoreExampleTests/Acceptance/Spec/AttributeFilterTests.cs

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff 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
}

0 commit comments

Comments
 (0)