@@ -3,14 +3,12 @@ import { waitForError, waitForTransaction } from '@sentry-internal/event-proxy-s
33import  {  createTRPCProxyClient ,  httpBatchLink  }  from  '@trpc/client' ; 
44import  type  {  AppRouter  }  from  '../src/app' ; 
55
6- const  authToken  =  process . env . E2E_TEST_AUTH_TOKEN ; 
7- const  sentryTestOrgSlug  =  process . env . E2E_TEST_SENTRY_ORG_SLUG ; 
8- const  sentryTestProject  =  process . env . E2E_TEST_SENTRY_TEST_PROJECT ; 
9- const  EVENT_POLLING_TIMEOUT  =  90_000 ; 
10- 
11- test ( 'Should record transaction for trpc query' ,  async  ( {  baseURL } )  =>  { 
6+ test ( 'Should record span for trpc query' ,  async  ( {  baseURL } )  =>  { 
127  const  transactionEventPromise  =  waitForTransaction ( 'node-express-app' ,  transactionEvent  =>  { 
13-     return  transactionEvent . transaction  ===  'trpc/getSomething' ; 
8+     return  ( 
9+       transactionEvent . transaction  ===  'GET /trpc'  && 
10+       ! ! transactionEvent . spans ?. find ( span  =>  span . description  ===  'trpc/getSomething' ) 
11+     ) ; 
1412  } ) ; 
1513
1614  const  trpcClient  =  createTRPCProxyClient < AppRouter > ( { 
@@ -26,6 +24,16 @@ test('Should record transaction for trpc query', async ({ baseURL }) => {
2624  await  expect ( transactionEventPromise ) . resolves . toBeDefined ( ) ; 
2725  const  transaction  =  await  transactionEventPromise ; 
2826
27+   expect ( transaction . spans ) . toContainEqual ( 
28+     expect . objectContaining ( { 
29+       data : expect . objectContaining ( { 
30+         'sentry.op' : 'rpc.server' , 
31+         'sentry.origin' : 'auto.rpc.trpc' , 
32+       } ) , 
33+       description : `trpc/getSomething` , 
34+     } ) , 
35+   ) ; 
36+ 
2937  expect ( transaction . contexts ?. trpc ) . toMatchObject ( { 
3038    procedure_type : 'query' , 
3139    input : 'foobar' , 
@@ -34,7 +42,10 @@ test('Should record transaction for trpc query', async ({ baseURL }) => {
3442
3543test ( 'Should record transaction for trpc mutation' ,  async  ( {  baseURL } )  =>  { 
3644  const  transactionEventPromise  =  waitForTransaction ( 'node-express-app' ,  transactionEvent  =>  { 
37-     return  transactionEvent . transaction  ===  'trpc/createSomething' ; 
45+     return  ( 
46+       transactionEvent . transaction  ===  'POST /trpc'  && 
47+       ! ! transactionEvent . spans ?. find ( span  =>  span . description  ===  'trpc/createSomething' ) 
48+     ) ; 
3849  } ) ; 
3950
4051  const  trpcClient  =  createTRPCProxyClient < AppRouter > ( { 
@@ -50,14 +61,27 @@ test('Should record transaction for trpc mutation', async ({ baseURL }) => {
5061  await  expect ( transactionEventPromise ) . resolves . toBeDefined ( ) ; 
5162  const  transaction  =  await  transactionEventPromise ; 
5263
64+   expect ( transaction . spans ) . toContainEqual ( 
65+     expect . objectContaining ( { 
66+       data : expect . objectContaining ( { 
67+         'sentry.op' : 'rpc.server' , 
68+         'sentry.origin' : 'auto.rpc.trpc' , 
69+       } ) , 
70+       description : `trpc/createSomething` , 
71+     } ) , 
72+   ) ; 
73+ 
5374  expect ( transaction . contexts ?. trpc ) . toMatchObject ( { 
5475    procedure_type : 'mutation' , 
5576  } ) ; 
5677} ) ; 
5778
5879test ( 'Should record transaction and error for a crashing trpc handler' ,  async  ( {  baseURL } )  =>  { 
5980  const  transactionEventPromise  =  waitForTransaction ( 'node-express-app' ,  transactionEvent  =>  { 
60-     return  transactionEvent . transaction  ===  'trpc/crashSomething' ; 
81+     return  ( 
82+       transactionEvent . transaction  ===  'POST /trpc'  && 
83+       ! ! transactionEvent . spans ?. find ( span  =>  span . description  ===  'trpc/crashSomething' ) 
84+     ) ; 
6185  } ) ; 
6286
6387  const  errorEventPromise  =  waitForError ( 'node-express-app' ,  errorEvent  =>  { 
@@ -80,7 +104,10 @@ test('Should record transaction and error for a crashing trpc handler', async ({
80104
81105test ( 'Should record transaction and error for a trpc handler that returns a status code' ,  async  ( {  baseURL } )  =>  { 
82106  const  transactionEventPromise  =  waitForTransaction ( 'node-express-app' ,  transactionEvent  =>  { 
83-     return  transactionEvent . transaction  ===  'trpc/dontFindSomething' ; 
107+     return  ( 
108+       transactionEvent . transaction  ===  'POST /trpc'  && 
109+       ! ! transactionEvent . spans ?. find ( span  =>  span . description  ===  'trpc/dontFindSomething' ) 
110+     ) ; 
84111  } ) ; 
85112
86113  const  errorEventPromise  =  waitForError ( 'node-express-app' ,  errorEvent  =>  { 
0 commit comments