Skip to content

Commit 6de8816

Browse files
committed
make it work
1 parent 8dd117a commit 6de8816

File tree

3 files changed

+48
-8
lines changed

3 files changed

+48
-8
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import { createFileRoute } from '@tanstack/react-router';
2+
import { createServerFn } from '@tanstack/react-start';
3+
4+
const testLog = createServerFn().handler(async () => {
5+
console.log('Test log from server function');
6+
return { message: 'Log created' };
7+
});
8+
9+
export const Route = createFileRoute('/test-serverFn')({
10+
component: TestLog,
11+
});
12+
13+
function TestLog() {
14+
return (
15+
<div>
16+
<h1>Test Log Page</h1>
17+
<button
18+
type="button"
19+
onClick={async () => {
20+
await testLog();
21+
}}
22+
>
23+
Call server function
24+
</button>
25+
</div>
26+
);
27+
}

dev-packages/e2e-tests/test-applications/tanstackstart-react/tests/transaction.test.ts

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,32 @@ import { waitForTransaction } from '@sentry-internal/test-utils';
33

44
test('Sends a server function transaction', async ({ page }) => {
55
const transactionEventPromise = waitForTransaction('tanstackstart-react', transactionEvent => {
6-
return transactionEvent?.contexts?.trace?.op === 'http.server' && transactionEvent?.transaction === 'GET /';
6+
return (
7+
transactionEvent?.contexts?.trace?.op === 'http.server' &&
8+
!!transactionEvent?.transaction?.startsWith('GET /_serverFn')
9+
);
710
});
811

9-
await page.goto('/');
12+
await page.goto('/test-serverFn');
1013

11-
await expect(page.locator('button').filter({ hasText: 'Break server function' })).toBeVisible();
14+
await expect(page.getByText('Call server function')).toBeVisible();
1215

13-
await page.locator('button').filter({ hasText: 'Break server function' }).click();
16+
await page.getByText('Call server function').click();
1417

1518
const transactionEvent = await transactionEventPromise;
1619

17-
console.log('transactionEvent: ', transactionEvent);
18-
19-
// TODO: verify correct span data
2020
expect(Array.isArray(transactionEvent?.spans)).toBe(true);
21-
expect(transactionEvent?.spans?.length).toBeGreaterThan(0);
21+
expect(transactionEvent?.spans).toEqual(
22+
expect.arrayContaining([
23+
expect.objectContaining({
24+
description: 'server.fetch',
25+
op: 'function.tanstackstart',
26+
origin: 'auto.function.tanstackstart.serverFn',
27+
data: {
28+
'sentry.op': 'function.tanstackstart',
29+
'sentry.origin': 'auto.function.tanstackstart.serverFn',
30+
},
31+
}),
32+
]),
33+
);
2234
});

packages/tanstackstart-react/src/server/withSentry.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ export function withSentry(serverEntry: ServerEntry): ServerEntry {
3131
);
3232
}
3333

34+
console.log('fetch without startSpan');
3435
return await target.apply(thisArg, args);
3536
},
3637
});

0 commit comments

Comments
 (0)