Skip to content

Commit a899d27

Browse files
committed
add sveltekit-2 e2e test
1 parent 70de23b commit a899d27

File tree

6 files changed

+52
-1
lines changed

6 files changed

+52
-1
lines changed

dev-packages/e2e-tests/test-applications/sveltekit-2/src/routes/+page.svelte

+3
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,7 @@
2626
<li>
2727
<a id="redirectLink" href="/redirect1">Redirect</a>
2828
</li>
29+
<li>
30+
<a href="/server-load-fetch">Route with nested fetch in server load</a>
31+
</li>
2932
</ul>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
export const load = async ({ fetch }) => {
2+
const res = await fetch('/api/users');
3+
const data = await res.json();
4+
return { data };
5+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<script lang="ts">
2+
export let data;
3+
</script>
4+
5+
<main>
6+
<h1>Server Load Fetch</h1>
7+
<p>{JSON.stringify(data, null, 2)}</p>
8+
</main>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import { expect, test } from '@playwright/test';
2+
import { waitForTransaction } from '../event-proxy-server';
3+
4+
test('server pageload request span has nested request span for sub request', async ({ page }) => {
5+
const serverTxnEventPromise = waitForTransaction('sveltekit', txnEvent => {
6+
console.log('txnEvent', txnEvent);
7+
return txnEvent?.transaction === 'GET /server-load-fetch';
8+
});
9+
10+
await page.goto('/server-load-fetch');
11+
12+
const serverTxnEvent = await serverTxnEventPromise;
13+
const spans = serverTxnEvent.spans;
14+
15+
expect(serverTxnEvent).toMatchObject({
16+
transaction: 'GET /server-load-fetch',
17+
tags: { runtime: 'node' },
18+
transaction_info: { source: 'route' },
19+
type: 'transaction',
20+
contexts: {
21+
trace: {
22+
op: 'http.server',
23+
origin: 'auto.http.sveltekit',
24+
},
25+
},
26+
});
27+
28+
expect(spans).toHaveLength(3);
29+
30+
expect(spans).toEqual(expect.arrayContaining([
31+
expect.objectContaining({ op: 'http.server', description: 'GET /server-load-fetch' }),
32+
expect.objectContaining({ op: 'http.server', description: 'GET /api/users' }),
33+
]))
34+
});

dev-packages/e2e-tests/test-applications/sveltekit/src/routes/+page.svelte

+1
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,5 @@
2525
</li>
2626
<li>
2727
<a href="/server-load-fetch">Route with nested fetch in server load</a>
28+
</li>
2829
</ul>

dev-packages/e2e-tests/test-applications/sveltekit/test/performance.server.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { expect, test } from '@playwright/test';
22
import { waitForTransaction } from '../event-proxy-server';
33

4-
test('server pageload request span has nested request span', async ({ page }) => {
4+
test('server pageload request span has nested request span for sub request', async ({ page }) => {
55
const serverTxnEventPromise = waitForTransaction('sveltekit', txnEvent => {
66
console.log('txnEvent', txnEvent);
77
return txnEvent?.transaction === 'GET /server-load-fetch';

0 commit comments

Comments
 (0)