@@ -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