Skip to content

Commit 8d436c8

Browse files
committed
finalize tests and config
1 parent eb328ea commit 8d436c8

File tree

8 files changed

+22
-76
lines changed

8 files changed

+22
-76
lines changed

dev-packages/e2e-tests/test-applications/sveltekit-2/event-proxy-server.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import * as os from 'os';
66
import * as path from 'path';
77
import * as util from 'util';
88
import * as zlib from 'zlib';
9-
import type { Envelope, EnvelopeItem, Event } from '@sentry/types';
9+
import type { Envelope, EnvelopeItem, SerializedEvent } from '@sentry/types';
1010
import { parseEnvelope } from '@sentry/utils';
1111

1212
const readFile = util.promisify(fs.readFile);
@@ -210,13 +210,13 @@ export function waitForEnvelopeItem(
210210

211211
export function waitForError(
212212
proxyServerName: string,
213-
callback: (transactionEvent: Event) => Promise<boolean> | boolean,
214-
): Promise<Event> {
213+
callback: (transactionEvent: SerializedEvent) => Promise<boolean> | boolean,
214+
): Promise<SerializedEvent> {
215215
return new Promise((resolve, reject) => {
216216
waitForEnvelopeItem(proxyServerName, async envelopeItem => {
217217
const [envelopeItemHeader, envelopeItemBody] = envelopeItem;
218-
if (envelopeItemHeader.type === 'event' && (await callback(envelopeItemBody as Event))) {
219-
resolve(envelopeItemBody as Event);
218+
if (envelopeItemHeader.type === 'event' && (await callback(envelopeItemBody as SerializedEvent))) {
219+
resolve(envelopeItemBody as SerializedEvent);
220220
return true;
221221
}
222222
return false;
@@ -226,13 +226,13 @@ export function waitForError(
226226

227227
export function waitForTransaction(
228228
proxyServerName: string,
229-
callback: (transactionEvent: Event) => Promise<boolean> | boolean,
230-
): Promise<Event> {
229+
callback: (transactionEvent: SerializedEvent) => Promise<boolean> | boolean,
230+
): Promise<SerializedEvent> {
231231
return new Promise((resolve, reject) => {
232232
waitForEnvelopeItem(proxyServerName, async envelopeItem => {
233233
const [envelopeItemHeader, envelopeItemBody] = envelopeItem;
234-
if (envelopeItemHeader.type === 'transaction' && (await callback(envelopeItemBody as Event))) {
235-
resolve(envelopeItemBody as Event);
234+
if (envelopeItemHeader.type === 'transaction' && (await callback(envelopeItemBody as SerializedEvent))) {
235+
resolve(envelopeItemBody as SerializedEvent);
236236
return true;
237237
}
238238
return false;

dev-packages/e2e-tests/test-applications/sveltekit-2/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
"@sentry/utils": "latest || *",
2323
"@sveltejs/adapter-auto": "^3.0.0",
2424
"@sveltejs/adapter-node": "^2.0.0",
25-
"@sveltejs/kit": "^2.0.0",
25+
"@sveltejs/kit": "^2.5.0",
2626
"@sveltejs/vite-plugin-svelte": "^3.0.0",
2727
"svelte": "^4.2.8",
2828
"svelte-check": "^3.6.0",

dev-packages/e2e-tests/test-applications/sveltekit-2/playwright.config.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@ const config: PlaywrightTestConfig = {
3030
timeout: 10000,
3131
},
3232
/* Run tests in files in parallel */
33-
fullyParallel: true,
33+
fullyParallel: false,
34+
workers: 1,
3435
/* Fail the build on CI if you accidentally left test.only in the source code. */
3536
forbidOnly: !!process.env.CI,
3637
/* `next dev` is incredibly buggy with the app dir */
@@ -69,7 +70,7 @@ const config: PlaywrightTestConfig = {
6970
command:
7071
testEnv === 'development'
7172
? `pnpm wait-port ${eventProxyPort} && pnpm dev --port ${svelteKitPort}`
72-
: `pnpm wait-port ${eventProxyPort} && pnpm preview --port ${svelteKitPort}`,
73+
: `pnpm wait-port ${eventProxyPort} && PORT=${svelteKitPort} node build`,
7374
port: svelteKitPort,
7475
reuseExistingServer: false,
7576
},

dev-packages/e2e-tests/test-applications/sveltekit-2/src/app.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<meta name="viewport" content="width=device-width" />
77
%sveltekit.head%
88
</head>
9-
<body data-sveltekit-preload-data="hover">
9+
<body data-sveltekit-preload-data="off">
1010
<div style="display: contents">%sveltekit.body%</div>
1111
</body>
1212
</html>

dev-packages/e2e-tests/test-applications/sveltekit-2/test/errors.client.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ import { expect, test } from '@playwright/test';
22
import { waitForError } from '../event-proxy-server';
33
import { waitForInitialPageload } from './utils';
44

5-
test.describe('capturing client side errors', () => {
6-
test('should capture error thrown on click', async ({ page }) => {
5+
test.describe('client-side errors', () => {
6+
test('captures error thrown on click', async ({ page }) => {
77
await page.goto('/client-error');
88

99
await expect(page.getByText('Client error')).toBeVisible();
@@ -29,7 +29,7 @@ test.describe('capturing client side errors', () => {
2929
expect(errorEvent.tags).toMatchObject({ runtime: 'browser' });
3030
});
3131

32-
test('should capture universal load error', async ({ page }) => {
32+
test('captures universal load error', async ({ page }) => {
3333
await waitForInitialPageload(page);
3434
await page.reload();
3535

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

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { expect, test } from '@playwright/test';
22
import { waitForError } from '../event-proxy-server';
33

4-
test.describe('capturing server side errors', () => {
5-
test('should capture universal load error', async ({ page }) => {
4+
test.describe('server-side errors', () => {
5+
test('captures universal load error', async ({ page }) => {
66
const errorEventPromise = waitForError('sveltekit-2', errorEvent => {
77
return errorEvent?.exception?.values?.[0]?.value === 'Universal Load Error (server)';
88
});
@@ -15,15 +15,14 @@ test.describe('capturing server side errors', () => {
1515
expect(errorEventFrames?.[errorEventFrames?.length - 1]).toEqual(
1616
expect.objectContaining({
1717
function: 'load$1',
18-
lineno: 3,
1918
in_app: true,
2019
}),
2120
);
2221

2322
expect(errorEvent.tags).toMatchObject({ runtime: 'node' });
2423
});
2524

26-
test('should capture server load error', async ({ page }) => {
25+
test('captures server load error', async ({ page }) => {
2726
const errorEventPromise = waitForError('sveltekit-2', errorEvent => {
2827
return errorEvent?.exception?.values?.[0]?.value === 'Server Load Error';
2928
});
@@ -36,15 +35,14 @@ test.describe('capturing server side errors', () => {
3635
expect(errorEventFrames?.[errorEventFrames?.length - 1]).toEqual(
3736
expect.objectContaining({
3837
function: 'load$1',
39-
lineno: 3,
4038
in_app: true,
4139
}),
4240
);
4341

4442
expect(errorEvent.tags).toMatchObject({ runtime: 'node' });
4543
});
4644

47-
test('should capture server route (GET) error', async ({ page }) => {
45+
test('captures server route (GET) error', async ({ page }) => {
4846
const errorEventPromise = waitForError('sveltekit-2', errorEvent => {
4947
return errorEvent?.exception?.values?.[0]?.value === 'Server Route Error';
5048
});
@@ -56,9 +54,8 @@ test.describe('capturing server side errors', () => {
5654

5755
expect(errorEventFrames?.[errorEventFrames?.length - 1]).toEqual(
5856
expect.objectContaining({
59-
filename: 'app:///_server.ts.js',
57+
filename: expect.stringContaining('app:///_server.ts'),
6058
function: 'GET',
61-
lineno: 2,
6259
in_app: true,
6360
}),
6461
);

dev-packages/e2e-tests/test-applications/sveltekit-2/test/transaction.test.ts

Lines changed: 0 additions & 48 deletions
This file was deleted.

dev-packages/e2e-tests/test-applications/sveltekit-2/test/utils.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,5 @@ export async function waitForInitialPageload(
4545
clientPageloadTxnEventPromise,
4646
]);
4747

48-
// let's add a buffer because it seems like the hydrated flag isn't enough :(
49-
// guess: The layout finishes hydration/mounting before the components within finish
50-
await page.waitForTimeout(3000);
51-
5248
debug && console.log('hydrated');
5349
}

0 commit comments

Comments
 (0)