@@ -470,6 +470,48 @@ Hint: It might not be working because maybe you're not up to date with the Meili
470470 expect ( response . results . length ) . toEqual ( dataset . length )
471471 } )
472472
473+ test ( `${ permission } key: Delete some documents with string filters` , async ( ) => {
474+ const client = await getClient ( permission )
475+ await client . index ( indexPk . uid ) . updateFilterableAttributes ( [ 'id' ] )
476+ const { taskUid : addDocTask } = await client
477+ . index ( indexPk . uid )
478+ . addDocuments ( dataset )
479+ await client . index ( indexPk . uid ) . waitForTask ( addDocTask )
480+
481+ const task = await client
482+ . index ( indexPk . uid )
483+ . deleteDocuments ( { filter : 'id IN [1, 2]' } )
484+
485+ const resolvedTask = await client
486+ . index ( indexPk . uid )
487+ . waitForTask ( task . taskUid )
488+ const documents = await client . index ( indexPk . uid ) . getDocuments < Book > ( )
489+
490+ expect ( resolvedTask . details . deletedDocuments ) . toEqual ( 2 )
491+ expect ( documents . results . length ) . toEqual ( dataset . length - 2 )
492+ } )
493+
494+ test ( `${ permission } key: Delete some documents with array filters` , async ( ) => {
495+ const client = await getClient ( permission )
496+ await client . index ( indexPk . uid ) . updateFilterableAttributes ( [ 'id' ] )
497+ const { taskUid : addDocTask } = await client
498+ . index ( indexPk . uid )
499+ . addDocuments ( dataset )
500+ await client . index ( indexPk . uid ) . waitForTask ( addDocTask )
501+
502+ const task = await client
503+ . index ( indexPk . uid )
504+ . deleteDocuments ( { filter : [ [ 'id = 1' , 'id = 2' ] ] } )
505+
506+ const resolvedTask = await client
507+ . index ( indexPk . uid )
508+ . waitForTask ( task . taskUid )
509+ const documents = await client . index ( indexPk . uid ) . getDocuments < Book > ( )
510+
511+ expect ( resolvedTask . details . deletedDocuments ) . toEqual ( 2 )
512+ expect ( documents . results . length ) . toEqual ( dataset . length - 2 )
513+ } )
514+
473515 test ( `${ permission } key: Delete some documents from index that has NO primary key` , async ( ) => {
474516 const client = await getClient ( permission )
475517 const { taskUid : addDocTask } = await client
@@ -511,6 +553,41 @@ Hint: It might not be working because maybe you're not up to date with the Meili
511553 expect ( returnedIds ) . not . toContain ( ids [ 1 ] )
512554 } )
513555
556+ test ( `${ permission } key: Delete some documents should trigger error with a hint on a MeilisearchApiError` , async ( ) => {
557+ const client = await getClient ( permission )
558+ const task = await client . createIndex ( indexPk . uid )
559+ await client . waitForTask ( task . taskUid )
560+
561+ try {
562+ await client . index ( indexPk . uid ) . deleteDocuments ( { filter : '' } )
563+
564+ fail (
565+ 'deleteDocuments should have raised an error when the parameters are wrong'
566+ )
567+ } catch ( e : any ) {
568+ expect ( e . message ) . toEqual (
569+ "Sending an empty filter is forbidden.\nHint: It might not be working because maybe you're not up to date with the Meilisearch version that deleteDocuments call requires."
570+ )
571+ }
572+ } )
573+
574+ test ( `${ permission } key: Delete some documents should trigger error with a hint on a MeilisearchCommunicationError` , async ( ) => {
575+ const apiKey = await getKey ( permission )
576+ const client = new MeiliSearch ( { host : `${ HOST } /indexes` , apiKey } )
577+
578+ try {
579+ await client . index ( indexPk . uid ) . deleteDocuments ( { filter : 'id = 1' } )
580+
581+ fail (
582+ 'deleteDocuments should have raised an error when the route does not exist'
583+ )
584+ } catch ( e : any ) {
585+ expect ( e . message ) . toEqual (
586+ "Not Found\nHint: It might not be working because maybe you're not up to date with the Meilisearch version that deleteDocuments call requires."
587+ )
588+ }
589+ } )
590+
514591 test ( `${ permission } key: Delete all document from index that has NO primary key` , async ( ) => {
515592 const client = await getClient ( permission )
516593 const task = await client . index ( indexNoPk . uid ) . deleteAllDocuments ( )
0 commit comments