todo: move filter encoding fix to backend

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
This commit is contained in:
Patrik Oldsberg
2023-08-11 15:04:40 +02:00
parent ad3fb54017
commit c6b29f3dbe
5 changed files with 28 additions and 13 deletions
@@ -173,6 +173,7 @@ export const spec = {
name: 'filter',
in: 'query',
required: false,
allowReserved: true,
schema: {
type: 'array',
description:
@@ -111,6 +111,7 @@ paths:
- name: filter
in: query
required: false
allowReserved: true
schema:
type: array
description: A list of filters used to narrow down the listed TODO items
@@ -131,6 +131,23 @@ describe('createRouter', () => {
);
});
it('forwards filter query', async () => {
mockService.listTodos.mockResolvedValueOnce(mockListBody);
const response = await request(app).get('/v1/todos?filter=text=*borked*');
expect(response.status).toEqual(200);
expect(response.body).toEqual(mockListBody);
expect(mockService.listTodos).toHaveBeenCalledWith(
{
entity: undefined,
offset: undefined,
limit: undefined,
filters: [{ field: 'text', value: '*borked*' }],
},
{ token: undefined },
);
});
it('rejects invalid queries', async () => {
request(app)
.get('/v1/todos?entity=k:n&entity=k:n')