11import { describe , it , expect , beforeEach , vi } from 'vitest' ;
22import { Queue } from '../../src/core/queue.ts' ;
3- import { JobMeta , QueueMessage } from '../../src/interfaces/job.ts' ;
3+ import type { JobMeta , QueueMessage , DbJobRequest } from '../../src/interfaces/job.ts' ;
44
55interface TestJobs {
66 'test-job' : { data : string } ;
77 'math-job' : { a : number ; b : number } ;
88}
99
10- class TestQueue extends Queue < TestJobs > {
11- public messages : Array < { payload : Buffer ; meta : JobMeta ; id : string } > = [ ] ;
10+ class TestQueue extends Queue < TestJobs , DbJobRequest < any > > {
11+ public messages : Array < { payload : string ; meta : JobMeta ; id : string } > = [ ] ;
1212 private nextId = 1 ;
1313
14- protected async pushMessage ( payload : Buffer , meta : JobMeta ) : Promise < string > {
14+ protected async pushMessage ( payload : string , meta : JobMeta ) : Promise < string > {
1515 const id = this . nextId . toString ( ) ;
1616 this . nextId ++ ;
1717 this . messages . push ( { payload, meta, id } ) ;
@@ -53,9 +53,9 @@ describe('Queue', () => {
5353
5454 expect ( id ) . toBe ( '1' ) ;
5555 expect ( queue . messages ) . toHaveLength ( 1 ) ;
56- expect ( queue . messages [ 0 ] . meta . ttr ) . toBe ( 300 ) ;
57- expect ( queue . messages [ 0 ] . meta . delay ) . toBe ( 0 ) ;
58- expect ( queue . messages [ 0 ] . meta . priority ) . toBe ( 0 ) ;
56+ expect ( queue . messages [ 0 ] ? .meta . ttr ) . toBe ( 300 ) ;
57+ expect ( queue . messages [ 0 ] ? .meta . delay ) . toBe ( 0 ) ;
58+ expect ( queue . messages [ 0 ] ? .meta . priority ) . toBe ( 0 ) ;
5959 } ) ;
6060
6161 it ( 'should add a job with custom settings using new API' , async ( ) => {
@@ -68,9 +68,9 @@ describe('Queue', () => {
6868
6969 expect ( id ) . toBe ( '1' ) ;
7070 expect ( queue . messages ) . toHaveLength ( 1 ) ;
71- expect ( queue . messages [ 0 ] . meta . ttr ) . toBe ( 600 ) ;
72- expect ( queue . messages [ 0 ] . meta . delay ) . toBe ( 30 ) ;
73- expect ( queue . messages [ 0 ] . meta . priority ) . toBe ( 5 ) ;
71+ expect ( queue . messages [ 0 ] ? .meta . ttr ) . toBe ( 600 ) ;
72+ expect ( queue . messages [ 0 ] ? .meta . delay ) . toBe ( 30 ) ;
73+ expect ( queue . messages [ 0 ] ? .meta . priority ) . toBe ( 5 ) ;
7474 } ) ;
7575
7676 it ( 'should emit beforePush and afterPush events' , async ( ) => {
@@ -98,8 +98,8 @@ describe('Queue', () => {
9898 await queue . addJob ( 'test-job' , { payload : { data : 'job1' } , ttr : 600 } ) ;
9999 await queue . addJob ( 'test-job' , { payload : { data : 'job2' } } ) ;
100100
101- expect ( queue . messages [ 0 ] . meta . ttr ) . toBe ( 600 ) ;
102- expect ( queue . messages [ 1 ] . meta . ttr ) . toBe ( 300 ) ; // back to default
101+ expect ( queue . messages [ 0 ] ? .meta . ttr ) . toBe ( 600 ) ;
102+ expect ( queue . messages [ 1 ] ? .meta . ttr ) . toBe ( 300 ) ; // back to default
103103 } ) ;
104104 } ) ;
105105
@@ -108,14 +108,14 @@ describe('Queue', () => {
108108 const handlerSpy = vi . fn ( ) . mockResolvedValue ( undefined ) ;
109109 queue . onJob ( 'test-job' , handlerSpy ) ;
110110
111- const payload = Buffer . from ( JSON . stringify ( {
111+ const payloadString = JSON . stringify ( {
112112 name : 'test-job' ,
113113 payload : { data : 'test data' }
114- } ) ) ;
114+ } ) ;
115115
116116 const message : QueueMessage = {
117117 id : '1' ,
118- payload,
118+ payload : payloadString ,
119119 meta : { ttr : 300 }
120120 } ;
121121
@@ -134,14 +134,14 @@ describe('Queue', () => {
134134 queue . on ( 'afterExec' , afterExecSpy ) ;
135135 queue . onJob ( 'test-job' , handlerSpy ) ;
136136
137- const payload = Buffer . from ( JSON . stringify ( {
137+ const payloadString = JSON . stringify ( {
138138 name : 'test-job' ,
139139 payload : { data : 'test data' }
140- } ) ) ;
140+ } ) ;
141141
142142 const message : QueueMessage = {
143143 id : '1' ,
144- payload,
144+ payload : payloadString ,
145145 meta : { ttr : 300 }
146146 } ;
147147
@@ -168,14 +168,14 @@ describe('Queue', () => {
168168 queue . onJob ( 'test-job' , handlerSpy ) ;
169169 queue . on ( 'afterError' , errorSpy ) ;
170170
171- const payload = Buffer . from ( JSON . stringify ( {
171+ const payloadString = JSON . stringify ( {
172172 name : 'test-job' ,
173173 payload : { data : 'test data' }
174- } ) ) ;
174+ } ) ;
175175
176176 const message : QueueMessage = {
177177 id : '1' ,
178- payload,
178+ payload : payloadString ,
179179 meta : { ttr : 300 }
180180 } ;
181181
@@ -197,14 +197,14 @@ describe('Queue', () => {
197197 const errorSpy = vi . fn ( ) ;
198198 queue . on ( 'afterError' , errorSpy ) ;
199199
200- const payload = Buffer . from ( JSON . stringify ( {
200+ const payloadString = JSON . stringify ( {
201201 name : 'unregistered-job' ,
202202 payload : { data : 'test data' }
203- } ) ) ;
203+ } ) ;
204204
205205 const message : QueueMessage = {
206206 id : '1' ,
207- payload,
207+ payload : payloadString ,
208208 meta : { ttr : 300 }
209209 } ;
210210
0 commit comments