@@ -10,8 +10,6 @@ test('sends a pageload transaction with a parameterized URL', async ({ page }) =
1010
1111 const rootSpan = await transactionPromise ;
1212
13- console . debug ( 'rootSpan' , rootSpan ) ;
14-
1513 expect ( rootSpan ) . toMatchObject ( {
1614 contexts : {
1715 trace : {
@@ -26,34 +24,44 @@ test('sends a pageload transaction with a parameterized URL', async ({ page }) =
2624 } ) ;
2725} ) ;
2826
29- // test('sends a navigation transaction with a parameterized URL', async ({ page }) => {
30- // page.on('console', msg => console.log(msg.text()));
31-
32- // const pageloadTxnPromise = waitForTransaction('react-router-6-descendant-routes', async transactionEvent => {
33- // return !!transactionEvent?.transaction && transactionEvent.contexts?.trace?.op === 'pageload';
34- // });
35-
36- // const navigationTxnPromise = waitForTransaction('react-router-6-descendant-routes', async transactionEvent => {
37- // return !!transactionEvent?.transaction && transactionEvent.contexts?.trace?.op === 'navigation';
38- // });
39-
40- // await page.goto(`/`);
41- // await pageloadTxnPromise;
42-
43- // const linkElement = page.locator('id=navigation');
44-
45- // const [_, navigationTxn] = await Promise.all([linkElement.click(), navigationTxnPromise]);
46-
47- // expect(navigationTxn).toMatchObject({
48- // contexts: {
49- // trace: {
50- // op: 'navigation',
51- // origin: 'auto.navigation.react.reactrouter_v6',
52- // },
53- // },
54- // transaction: '/user/:id',
55- // transaction_info: {
56- // source: 'route',
57- // },
58- // });
59- // });
27+ test ( 'sends a navigation transaction with a parameterized URL' , async ( { page } ) => {
28+ const pageloadTxnPromise = waitForTransaction ( 'react-router-6-descendant-routes' , async transactionEvent => {
29+ return ! ! transactionEvent ?. transaction && transactionEvent . contexts ?. trace ?. op === 'pageload' ;
30+ } ) ;
31+
32+ const navigationTxnPromise = waitForTransaction ( 'react-router-6-descendant-routes' , async transactionEvent => {
33+ return ! ! transactionEvent ?. transaction && transactionEvent . contexts ?. trace ?. op === 'navigation' ;
34+ } ) ;
35+
36+ await page . goto ( `/` ) ;
37+ const pageloadTxn = await pageloadTxnPromise ;
38+
39+ expect ( pageloadTxn ) . toMatchObject ( {
40+ contexts : {
41+ trace : {
42+ op : 'pageload' ,
43+ origin : 'auto.pageload.react.reactrouter_v6' ,
44+ } ,
45+ } ,
46+ transaction : '/' ,
47+ transaction_info : {
48+ source : 'route' ,
49+ } ,
50+ } ) ;
51+
52+ const linkElement = page . locator ( 'id=navigation' ) ;
53+
54+ const [ _ , navigationTxn ] = await Promise . all ( [ linkElement . click ( ) , navigationTxnPromise ] ) ;
55+ expect ( navigationTxn ) . toMatchObject ( {
56+ contexts : {
57+ trace : {
58+ op : 'navigation' ,
59+ origin : 'auto.navigation.react.reactrouter_v6' ,
60+ } ,
61+ } ,
62+ transaction : '/projects/:projectId/views/:viewId' ,
63+ transaction_info : {
64+ source : 'route' ,
65+ } ,
66+ } ) ;
67+ } ) ;
0 commit comments