11import { expect , test } from '@playwright/test' ;
2- import { getSpanOp , waitForStreamedSpan } from '@sentry-internal/test-utils' ;
2+ import { collectStreamedSpans , getSpanOp } from '@sentry-internal/test-utils' ;
33
44test . describe ( 'Trace propagation' , ( ) => {
55 test ( 'should inject metatags in ssr pageload' , async ( { page } ) => {
@@ -18,19 +18,30 @@ test.describe('Trace propagation', () => {
1818 } ) ;
1919
2020 test ( 'should have trace connection between server and client' , async ( { page } ) => {
21- const serverSpanPromise = waitForStreamedSpan ( 'tanstackstart-react-cloudflare' , span => {
22- return span . is_segment && getSpanOp ( span ) === 'http.server' && span . attributes [ 'url.path' ] ?. value === '/' ;
23- } ) ;
24-
25- const clientSpanPromise = waitForStreamedSpan ( 'tanstackstart-react-cloudflare' , span => {
26- return span . is_segment && getSpanOp ( span ) === 'pageload' && span . name === '/' ;
21+ const spansPromise = collectStreamedSpans ( 'tanstackstart-react-cloudflare' , spans => {
22+ return (
23+ spans . some (
24+ span => span . is_segment && getSpanOp ( span ) === 'http.server' && span . attributes [ 'url.path' ] ?. value === '/' ,
25+ ) &&
26+ spans . some (
27+ span =>
28+ span . is_segment &&
29+ getSpanOp ( span ) === 'pageload' &&
30+ ( span . name === '/' || span . attributes [ 'url.path' ] ?. value === '/' ) ,
31+ )
32+ ) ;
2733 } ) ;
2834
2935 await page . goto ( '/' ) ;
3036
31- const serverSpan = await serverSpanPromise ;
32- const clientSpan = await clientSpanPromise ;
37+ const spans = await spansPromise ;
38+ const serverSpan = spans . find (
39+ span => span . is_segment && getSpanOp ( span ) === 'http.server' && span . attributes [ 'url.path' ] ?. value === '/' ,
40+ ) ;
41+ const clientSpan = spans . find ( span => span . is_segment && getSpanOp ( span ) === 'pageload' ) ;
3342
34- expect ( clientSpan . trace_id ) . toBe ( serverSpan . trace_id ) ;
43+ expect ( serverSpan ) . toBeDefined ( ) ;
44+ expect ( clientSpan ) . toBeDefined ( ) ;
45+ expect ( clientSpan ?. trace_id ) . toBe ( serverSpan ?. trace_id ) ;
3546 } ) ;
3647} ) ;
0 commit comments