@@ -38,11 +38,14 @@ test('Creates a transaction for successful job processing', async ({ baseURL })
3838} ) ;
3939
4040test ( 'BullMQ processor breadcrumbs do not leak into subsequent HTTP requests' , async ( { baseURL } ) => {
41+ const processTransactionPromise = waitForTransaction ( 'nestjs-bullmq' , transactionEvent => {
42+ return transactionEvent . contexts ?. trace ?. op === 'queue.process' ;
43+ } ) ;
44+
4145 // Enqueue a job that adds a breadcrumb during processing
4246 await fetch ( `${ baseURL } /enqueue/breadcrumb-test` ) ;
4347
44- // Wait for the job to be processed
45- await new Promise ( resolve => setTimeout ( resolve , 3000 ) ) ;
48+ await processTransactionPromise ;
4649
4750 const transactionPromise = waitForTransaction ( 'nestjs-bullmq' , transactionEvent => {
4851 return transactionEvent . transaction === 'GET /check-isolation' ;
@@ -65,10 +68,14 @@ test('BullMQ processor breadcrumbs do not leak into subsequent HTTP requests', a
6568test ( 'BullMQ @OnWorkerEvent lifecycle breadcrumbs currently leak into subsequent HTTP requests' , async ( {
6669 baseURL,
6770} ) => {
71+ const processTransactionPromise = waitForTransaction ( 'nestjs-bullmq' , transactionEvent => {
72+ return transactionEvent . contexts ?. trace ?. op === 'queue.process' ;
73+ } ) ;
74+
75+ // Enqueue a job (the completed event fires right after the job is processed)
6876 await fetch ( `${ baseURL } /enqueue/lifecycle-breadcrumb-test` ) ;
6977
70- // Wait for the job to be processed and the completed event to fire
71- await new Promise ( resolve => setTimeout ( resolve , 3000 ) ) ;
78+ await processTransactionPromise ;
7279
7380 const transactionPromise = waitForTransaction ( 'nestjs-bullmq' , transactionEvent => {
7481 return transactionEvent . transaction === 'GET /check-isolation' ;
0 commit comments