From a904a02c199a2363aba413a90a5d0b456554cda2 Mon Sep 17 00:00:00 2001 From: RulaKhaled Date: Tue, 20 May 2025 16:31:19 +0200 Subject: [PATCH 1/4] test(react-router): Add and fix tests for pre rendered routes --- .../react-router-7-framework/react-router.config.ts | 2 +- .../tests/performance/pageload.client.test.ts | 9 ++++----- .../tests/performance/trace-propagation.test.ts | 6 ++++++ 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/dev-packages/e2e-tests/test-applications/react-router-7-framework/react-router.config.ts b/dev-packages/e2e-tests/test-applications/react-router-7-framework/react-router.config.ts index 73b647e4eea6..c9dbe039abfa 100644 --- a/dev-packages/e2e-tests/test-applications/react-router-7-framework/react-router.config.ts +++ b/dev-packages/e2e-tests/test-applications/react-router-7-framework/react-router.config.ts @@ -3,5 +3,5 @@ import type { Config } from '@react-router/dev/config'; export default { ssr: true, // todo: check why this messes up client tracing in tests - // prerender: ['/performance/static'], + prerender: ['/performance/static'], } satisfies Config; diff --git a/dev-packages/e2e-tests/test-applications/react-router-7-framework/tests/performance/pageload.client.test.ts b/dev-packages/e2e-tests/test-applications/react-router-7-framework/tests/performance/pageload.client.test.ts index e283ea522c4a..b18ae44e0e71 100644 --- a/dev-packages/e2e-tests/test-applications/react-router-7-framework/tests/performance/pageload.client.test.ts +++ b/dev-packages/e2e-tests/test-applications/react-router-7-framework/tests/performance/pageload.client.test.ts @@ -5,7 +5,7 @@ import { APP_NAME } from '../constants'; test.describe('client - pageload performance', () => { test('should send pageload transaction', async ({ page }) => { const txPromise = waitForTransaction(APP_NAME, async transactionEvent => { - return transactionEvent.transaction === '/performance'; + return transactionEvent.transaction === '/performance/'; }); await page.goto(`/performance`); @@ -29,7 +29,7 @@ test.describe('client - pageload performance', () => { spans: expect.any(Array), start_timestamp: expect.any(Number), timestamp: expect.any(Number), - transaction: '/performance', + transaction: '/performance/', type: 'transaction', transaction_info: { source: 'url' }, measurements: expect.any(Object), @@ -103,10 +103,9 @@ test.describe('client - pageload performance', () => { }); }); - // todo: this page is currently not prerendered (see react-router.config.ts) test('should send pageload transaction for prerendered pages', async ({ page }) => { const txPromise = waitForTransaction(APP_NAME, async transactionEvent => { - return transactionEvent.transaction === '/performance/static'; + return transactionEvent.transaction === '/performance/static/'; }); await page.goto(`/performance/static`); @@ -114,7 +113,7 @@ test.describe('client - pageload performance', () => { const transaction = await txPromise; expect(transaction).toMatchObject({ - transaction: '/performance/static', + transaction: '/performance/static/', contexts: { trace: { span_id: expect.any(String), diff --git a/dev-packages/e2e-tests/test-applications/react-router-7-framework/tests/performance/trace-propagation.test.ts b/dev-packages/e2e-tests/test-applications/react-router-7-framework/tests/performance/trace-propagation.test.ts index 6a9623171236..08b69b1be3b1 100644 --- a/dev-packages/e2e-tests/test-applications/react-router-7-framework/tests/performance/trace-propagation.test.ts +++ b/dev-packages/e2e-tests/test-applications/react-router-7-framework/tests/performance/trace-propagation.test.ts @@ -33,4 +33,10 @@ test.describe('Trace propagation', () => { expect(clientTx.contexts?.trace?.trace_id).toEqual(serverTx.contexts?.trace?.trace_id); expect(clientTx.contexts?.trace?.parent_span_id).toBe(serverTx.contexts?.trace?.span_id); }); + + test('should not have trace connection for prerendered pages', async ({ page }) => { + await page.goto(`/performance/static`); + + await expect(page.locator('meta[name="sentry-trace"]')).toHaveCount(0); + }); }); From 521bb7f3b844306d293f6725e59853fe42ccd822 Mon Sep 17 00:00:00 2001 From: RulaKhaled Date: Tue, 20 May 2025 16:41:57 +0200 Subject: [PATCH 2/4] Fix tests --- .../tests/performance/trace-propagation.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-packages/e2e-tests/test-applications/react-router-7-framework/tests/performance/trace-propagation.test.ts b/dev-packages/e2e-tests/test-applications/react-router-7-framework/tests/performance/trace-propagation.test.ts index 08b69b1be3b1..a5d04310d452 100644 --- a/dev-packages/e2e-tests/test-applications/react-router-7-framework/tests/performance/trace-propagation.test.ts +++ b/dev-packages/e2e-tests/test-applications/react-router-7-framework/tests/performance/trace-propagation.test.ts @@ -37,6 +37,6 @@ test.describe('Trace propagation', () => { test('should not have trace connection for prerendered pages', async ({ page }) => { await page.goto(`/performance/static`); - await expect(page.locator('meta[name="sentry-trace"]')).toHaveCount(0); + expect(page.locator('meta[name="sentry-trace"]')).toBeUndefined() }); }); From aac3fe65c572cfec9702c83a6cb1431895481c7c Mon Sep 17 00:00:00 2001 From: RulaKhaled Date: Tue, 20 May 2025 17:14:49 +0200 Subject: [PATCH 3/4] Fix tests round 2 --- .../tests/performance/trace-propagation.test.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/dev-packages/e2e-tests/test-applications/react-router-7-framework/tests/performance/trace-propagation.test.ts b/dev-packages/e2e-tests/test-applications/react-router-7-framework/tests/performance/trace-propagation.test.ts index a5d04310d452..7562297b2d4d 100644 --- a/dev-packages/e2e-tests/test-applications/react-router-7-framework/tests/performance/trace-propagation.test.ts +++ b/dev-packages/e2e-tests/test-applications/react-router-7-framework/tests/performance/trace-propagation.test.ts @@ -35,8 +35,9 @@ test.describe('Trace propagation', () => { }); test('should not have trace connection for prerendered pages', async ({ page }) => { - await page.goto(`/performance/static`); + await page.goto('/performance/static'); - expect(page.locator('meta[name="sentry-trace"]')).toBeUndefined() + const sentryTraceElement = await page.$('meta[name="sentry-trace"]'); + expect(sentryTraceElement).toBeNull(); }); }); From 4ee7d7a37cd706f071ba15c879153d116f3bb667 Mon Sep 17 00:00:00 2001 From: Rola Abuhasna Date: Wed, 21 May 2025 09:46:19 +0200 Subject: [PATCH 4/4] Update dev-packages/e2e-tests/test-applications/react-router-7-framework/react-router.config.ts Co-authored-by: Charly Gomez --- .../react-router-7-framework/react-router.config.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/dev-packages/e2e-tests/test-applications/react-router-7-framework/react-router.config.ts b/dev-packages/e2e-tests/test-applications/react-router-7-framework/react-router.config.ts index c9dbe039abfa..bb1f96469dd2 100644 --- a/dev-packages/e2e-tests/test-applications/react-router-7-framework/react-router.config.ts +++ b/dev-packages/e2e-tests/test-applications/react-router-7-framework/react-router.config.ts @@ -2,6 +2,5 @@ import type { Config } from '@react-router/dev/config'; export default { ssr: true, - // todo: check why this messes up client tracing in tests prerender: ['/performance/static'], } satisfies Config;