Skip to content

Commit fe19cab

Browse files
authored
Update error codes for Meilisearch v0.30.0 (#1393)
* Rename uid, type, status and index_uid task filters to plural * Fix canceledBy task test * Add tests on error codes * Add tests on date type error code * Update src/types/types.ts
1 parent 2e37ca0 commit fe19cab

File tree

3 files changed

+84
-6
lines changed

3 files changed

+84
-6
lines changed

src/clients/client.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@ class Client {
276276
*
277277
* @returns {Promise<EnqueuedTask>} Promise containing an EnqueuedTask
278278
*/
279-
async cancelTasks(parameters: CancelTasksQuery = {}): Promise<EnqueuedTask> {
279+
async cancelTasks(parameters: CancelTasksQuery): Promise<EnqueuedTask> {
280280
return await this.tasks.cancelTasks(parameters)
281281
}
282282

src/types/types.ts

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -556,13 +556,22 @@ export const enum ErrorStatusCode {
556556
/** @see https://docs.meilisearch.com/errors/#missing_master_key */
557557
MISSING_MASTER_KEY = 'missing_master_key',
558558

559-
/** @see https://docs.meilisearch.com/errors/#invalid_task_uid */
560-
INVALID_TASK_UID = 'invalid_task_uid',
559+
/** @see http://docs.meilisearch.com/errors/#invalid_task_types_filter */
560+
INVALID_TASK_TYPES_FILTER = 'invalid_task_types_filter',
561561

562-
/** @see https://docs.meilisearch.com/errors/#invalid_task_date */
563-
INVALID_TASK_DATE = 'invalid_task_date',
562+
/** @see http://docs.meilisearch.com/errors/#invalid_task_statuses_filter */
563+
INVALID_TASK_STATUSES_FILTER = 'invalid_task_statuses_filter',
564564

565-
/** @see https://docs.meilisearch.com/errors/#missing_task_filters */
565+
/** @see http://docs.meilisearch.com/errors/#invalid_task_canceled_by_filter */
566+
INVALID_TASK_CANCELED_BY_FILTER = 'invalid_task_canceled_by_filter',
567+
568+
/** @see http://docs.meilisearch.com/errors/#invalid_task_uids_filter */
569+
INVALID_TASK_UIDS_FILTER = 'invalid_task_uids_filter',
570+
571+
/** @see http://docs.meilisearch.com/errors/#invalid_task_date_filter */
572+
INVALID_TASK_DATE_FILTER = 'invalid_task_date_filter',
573+
574+
/** @see http://docs.meilisearch.com/errors/#missing_task_filters */
566575
MISSING_TASK_FILTERS = 'missing_task_filters',
567576
}
568577

tests/task.test.ts

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -371,6 +371,65 @@ describe.each([{ permission: 'Master' }, { permission: 'Admin' }])(
371371
expect(tasksUids[0]).toEqual(addDocumentsTask.taskUid)
372372
})
373373

374+
// filters error code: INVALID_TASK_TYPES_FILTER
375+
test(`${permission} key: Try to filter on task types with wrong type`, async () => {
376+
const client = await getClient(permission)
377+
378+
await expect(
379+
// @ts-expect-error testing wrong argument type
380+
client.getTasks({ types: ['wrong'] })
381+
).rejects.toHaveProperty(
382+
'code',
383+
ErrorStatusCode.INVALID_TASK_TYPES_FILTER
384+
)
385+
})
386+
387+
// filters error code: INVALID_TASK_STATUSES_FILTER
388+
test(`${permission} key: Try to filter on statuses with wrong type`, async () => {
389+
const client = await getClient(permission)
390+
391+
await expect(
392+
// @ts-expect-error testing wrong argument type
393+
client.getTasks({ statuses: ['wrong'] })
394+
).rejects.toHaveProperty(
395+
'code',
396+
ErrorStatusCode.INVALID_TASK_STATUSES_FILTER
397+
)
398+
})
399+
400+
// filters error code: INVALID_TASK_UIDS_FILTER
401+
test(`${permission} key: Try to filter on uids with wrong type`, async () => {
402+
const client = await getClient(permission)
403+
404+
await expect(
405+
// @ts-expect-error testing wrong argument type
406+
client.getTasks({ uids: ['wrong'] })
407+
).rejects.toHaveProperty('code', ErrorStatusCode.INVALID_TASK_UIDS_FILTER)
408+
})
409+
410+
// filters error code: INVALID_TASK_CANCELED_BY_FILTER
411+
test(`${permission} key: Try to filter on canceledBy filter with wrong type`, async () => {
412+
const client = await getClient(permission)
413+
414+
await expect(
415+
// @ts-expect-error testing wrong canceledBy type
416+
client.getTasks({ canceledBy: ['wrong'] })
417+
).rejects.toHaveProperty(
418+
'code',
419+
ErrorStatusCode.INVALID_TASK_CANCELED_BY_FILTER
420+
)
421+
})
422+
423+
// filters error code: INVALID_TASK_DATE_FILTER
424+
test(`${permission} key: Try to filter on dates with invalid date format`, async () => {
425+
const client = await getClient(permission)
426+
427+
await expect(
428+
// @ts-expect-error testing wrong date format
429+
client.getTasks({ beforeEnqueuedAt: 'wrong' })
430+
).rejects.toHaveProperty('code', ErrorStatusCode.INVALID_TASK_DATE_FILTER)
431+
})
432+
374433
// cancel: uid
375434
test(`${permission} key: Cancel a task using the uid filter`, async () => {
376435
const client = await getClient(permission)
@@ -525,6 +584,16 @@ describe.each([{ permission: 'Master' }, { permission: 'Admin' }])(
525584
expect(task.details?.originalFilters).toContain('afterFinishedAt')
526585
})
527586

587+
// cancel error code: MISSING_TASK_FILTER
588+
test(`${permission} key: Try to cancel without filters and fail`, async () => {
589+
const client = await getClient(permission)
590+
591+
await expect(
592+
// @ts-expect-error testing wrong argument type
593+
client.cancelTasks()
594+
).rejects.toHaveProperty('code', ErrorStatusCode.MISSING_TASK_FILTERS)
595+
})
596+
528597
// delete: uid
529598
test(`${permission} key: Delete a task using the uid filter`, async () => {
530599
const client = await getClient(permission)

0 commit comments

Comments
 (0)