@@ -148,12 +148,12 @@ describe.each([{ permission: 'Master' }, { permission: 'Admin' }])(
148148 await client . waitForTask ( task1 . taskUid )
149149 await client . waitForTask ( task2 . taskUid )
150150
151- const tasks = await client . getTasks ( { from : 1 , limit : 1 } )
151+ const tasks = await client . getTasks ( { from : task1 . taskUid , limit : 1 } )
152152
153153 expect ( tasks . results . length ) . toEqual ( 1 )
154- expect ( tasks . from ) . toEqual ( 1 )
154+ expect ( tasks . from ) . toEqual ( task1 . taskUid )
155155 expect ( tasks . limit ) . toEqual ( 1 )
156- expect ( tasks . next ) . toEqual ( 0 )
156+ expect ( tasks . next ) . toEqual ( task1 . taskUid - 1 )
157157 } )
158158
159159 // get tasks: status
@@ -522,6 +522,168 @@ describe.each([{ permission: 'Master' }, { permission: 'Admin' }])(
522522 expect ( task . details ?. originalQuery ) . toContain ( 'afterFinishedAt' )
523523 } )
524524
525+ // delete: uid
526+ test ( `${ permission } key: Delete a task using the uid filter` , async ( ) => {
527+ const client = await getClient ( permission )
528+ const addDocuments = await client
529+ . index ( index . uid )
530+ . addDocuments ( [ { id : 1 } ] )
531+
532+ const deleteTask = await client . deleteTasks ( {
533+ uid : [ addDocuments . taskUid ] ,
534+ } )
535+ const task = await client . waitForTask ( deleteTask . taskUid )
536+
537+ expect ( deleteTask . type ) . toEqual ( TaskTypes . TASK_DELETION )
538+ expect ( task . details ?. deletedTasks ) . toBeDefined ( )
539+ await expect ( client . getTask ( addDocuments . taskUid ) ) . rejects . toHaveProperty (
540+ 'code' ,
541+ ErrorStatusCode . TASK_NOT_FOUND
542+ )
543+ } )
544+
545+ // delete: indexUid
546+ test ( `${ permission } key: Delete a task using the indexUid filter` , async ( ) => {
547+ const client = await getClient ( permission )
548+ const addDocuments = await client
549+ . index ( index . uid )
550+ . addDocuments ( [ { id : 1 } ] )
551+
552+ const enqueuedTask = await client . deleteTasks ( {
553+ indexUid : [ index . uid ] ,
554+ } )
555+ const deleteTask = await client . waitForTask ( enqueuedTask . taskUid )
556+
557+ expect ( deleteTask . type ) . toEqual ( TaskTypes . TASK_DELETION )
558+ await expect ( client . getTask ( addDocuments . taskUid ) ) . rejects . toHaveProperty (
559+ 'code' ,
560+ ErrorStatusCode . TASK_NOT_FOUND
561+ )
562+ } )
563+
564+ // delete: type
565+ test ( `${ permission } key: Delete a task using the type filter` , async ( ) => {
566+ const client = await getClient ( permission )
567+
568+ const enqueuedTask = await client . deleteTasks ( {
569+ type : [
570+ TaskTypes . DOCUMENTS_ADDITION_OR_UPDATE ,
571+ TaskTypes . DOCUMENT_DELETION ,
572+ ] ,
573+ } )
574+ const deleteTask = await client . waitForTask ( enqueuedTask . taskUid )
575+
576+ expect ( deleteTask . type ) . toEqual ( TaskTypes . TASK_DELETION )
577+ expect ( deleteTask . details ?. originalQuery ) . toEqual (
578+ 'type=documentAdditionOrUpdate%2CdocumentDeletion'
579+ )
580+ } )
581+
582+ // delete: status
583+ test ( `${ permission } key: Delete a task using the status filter` , async ( ) => {
584+ const client = await getClient ( permission )
585+
586+ const enqueuedTask = await client . deleteTasks ( {
587+ status : [ TaskStatus . TASK_ENQUEUED , TaskStatus . TASK_PROCESSING ] ,
588+ } )
589+ const task = await client . waitForTask ( enqueuedTask . taskUid )
590+
591+ expect ( task . type ) . toEqual ( TaskTypes . TASK_DELETION )
592+ expect ( task . details ?. originalQuery ) . toEqual (
593+ 'status=enqueued%2Cprocessing'
594+ )
595+ } )
596+
597+ // delete: beforeEnqueuedAt
598+ test ( `${ permission } key: Delete a task using beforeEnqueuedAt filter` , async ( ) => {
599+ const client = await getClient ( permission )
600+
601+ const currentTimeStamp = Date . now ( )
602+ const currentTime = new Date ( currentTimeStamp )
603+ const enqueuedTask = await client . deleteTasks ( {
604+ beforeEnqueuedAt : currentTime ,
605+ } )
606+ const task = await client . waitForTask ( enqueuedTask . taskUid )
607+
608+ expect ( task . type ) . toEqual ( TaskTypes . TASK_DELETION )
609+ expect ( task . details ?. originalQuery ) . toContain ( 'beforeEnqueuedAt' )
610+ } )
611+
612+ // delete: afterEnqueuedAt
613+ test ( `${ permission } key: Delete a task using afterEnqueuedAt filter` , async ( ) => {
614+ const client = await getClient ( permission )
615+
616+ const currentTimeStamp = Date . now ( )
617+ const currentTime = new Date ( currentTimeStamp )
618+ const enqueuedTask = await client . deleteTasks ( {
619+ afterEnqueuedAt : currentTime ,
620+ } )
621+ const task = await client . waitForTask ( enqueuedTask . taskUid )
622+
623+ expect ( task . type ) . toEqual ( TaskTypes . TASK_DELETION )
624+ expect ( task . details ?. originalQuery ) . toContain ( 'afterEnqueuedAt' )
625+ } )
626+
627+ // delete: beforeStartedAt
628+ test ( `${ permission } key: Delete a task using beforeStartedAt filter` , async ( ) => {
629+ const client = await getClient ( permission )
630+
631+ const currentTimeStamp = Date . now ( )
632+ const currentTime = new Date ( currentTimeStamp )
633+ const enqueuedTask = await client . deleteTasks ( {
634+ beforeStartedAt : currentTime ,
635+ } )
636+ const task = await client . waitForTask ( enqueuedTask . taskUid )
637+
638+ expect ( task . type ) . toEqual ( TaskTypes . TASK_DELETION )
639+ expect ( task . details ?. originalQuery ) . toContain ( 'beforeStartedAt' )
640+ } )
641+
642+ // delete: afterStartedAt
643+ test ( `${ permission } key: Delete a task using afterStartedAt filter` , async ( ) => {
644+ const client = await getClient ( permission )
645+
646+ const currentTimeStamp = Date . now ( )
647+ const currentTime = new Date ( currentTimeStamp )
648+ const enqueuedTask = await client . deleteTasks ( {
649+ afterStartedAt : currentTime ,
650+ } )
651+ const task = await client . waitForTask ( enqueuedTask . taskUid )
652+
653+ expect ( task . type ) . toEqual ( TaskTypes . TASK_DELETION )
654+ expect ( task . details ?. originalQuery ) . toContain ( 'afterStartedAt' )
655+ } )
656+
657+ // delete: beforeFinishedAt
658+ test ( `${ permission } key: Delete a task using beforeFinishedAt filter` , async ( ) => {
659+ const client = await getClient ( permission )
660+
661+ const currentTimeStamp = Date . now ( )
662+ const currentTime = new Date ( currentTimeStamp )
663+ const enqueuedTask = await client . deleteTasks ( {
664+ beforeFinishedAt : currentTime ,
665+ } )
666+ const task = await client . waitForTask ( enqueuedTask . taskUid )
667+
668+ expect ( task . type ) . toEqual ( TaskTypes . TASK_DELETION )
669+ expect ( task . details ?. originalQuery ) . toContain ( 'beforeFinishedAt' )
670+ } )
671+
672+ // delete: afterFinishedAt
673+ test ( `${ permission } key: Delete a task using afterFinishedAt filter` , async ( ) => {
674+ const client = await getClient ( permission )
675+
676+ const currentTimeStamp = Date . now ( )
677+ const currentTime = new Date ( currentTimeStamp )
678+ const enqueuedTask = await client . deleteTasks ( {
679+ afterFinishedAt : currentTime ,
680+ } )
681+ const task = await client . waitForTask ( enqueuedTask . taskUid )
682+
683+ expect ( task . type ) . toEqual ( TaskTypes . TASK_DELETION )
684+ expect ( task . details ?. originalQuery ) . toContain ( 'afterFinishedAt' )
685+ } )
686+
525687 test ( `${ permission } key: Get all indexes tasks with index instance` , async ( ) => {
526688 const client = await getClient ( permission )
527689 await client . index ( index . uid ) . addDocuments ( [ { id : 1 } ] )
0 commit comments