Skip to content

Commit 1a5a820

Browse files
authored
test(browser): Add integration tests for addBreadcrumb. (#4353)
1 parent a5e7ff6 commit 1a5a820

File tree

12 files changed

+103
-13
lines changed

12 files changed

+103
-13
lines changed

packages/integration-tests/suites/demo/tmp/subject.js

Lines changed: 0 additions & 1 deletion
This file was deleted.

packages/integration-tests/suites/demo/tmp/test.ts

Lines changed: 0 additions & 12 deletions
This file was deleted.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Sentry.addBreadcrumb({});
2+
3+
Sentry.captureMessage('test_empty_obj');
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import { expect } from '@playwright/test';
2+
3+
import { sentryTest } from '../../../../utils/fixtures';
4+
import { getSentryRequest } from '../../../../utils/helpers';
5+
6+
sentryTest(
7+
'should add an empty breadcrumb initialized with a timestamp, when an empty object is given',
8+
async ({ getLocalTestPath, page }) => {
9+
const url = await getLocalTestPath({ testDir: __dirname });
10+
11+
const eventData = await getSentryRequest(page, url);
12+
13+
expect(eventData.breadcrumbs).toHaveLength(1);
14+
expect(eventData.breadcrumbs?.[0]).toMatchObject({
15+
timestamp: expect.any(Number),
16+
});
17+
18+
expect(eventData.message).toBe('test_empty_obj');
19+
},
20+
);
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
Sentry.addBreadcrumb({
2+
category: 'foo',
3+
message: 'bar',
4+
level: 'baz',
5+
});
6+
7+
Sentry.addBreadcrumb({
8+
category: 'qux',
9+
});
10+
11+
Sentry.captureMessage('test_multi_breadcrumbs');
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import { expect } from '@playwright/test';
2+
3+
import { sentryTest } from '../../../../utils/fixtures';
4+
import { getSentryRequest } from '../../../../utils/helpers';
5+
6+
sentryTest('should add multiple breadcrumbs', async ({ getLocalTestPath, page }) => {
7+
const url = await getLocalTestPath({ testDir: __dirname });
8+
9+
const eventData = await getSentryRequest(page, url);
10+
11+
expect(eventData.breadcrumbs).toHaveLength(2);
12+
expect(eventData.breadcrumbs?.[0]).toMatchObject({
13+
category: 'foo',
14+
message: 'bar',
15+
level: 'baz',
16+
});
17+
expect(eventData.breadcrumbs?.[1]).toMatchObject({
18+
category: 'qux',
19+
});
20+
expect(eventData.message).toBe('test_multi_breadcrumbs');
21+
});
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
Sentry.addBreadcrumb({
2+
category: 'foo',
3+
message: 'bar',
4+
level: 'baz',
5+
});
6+
7+
Sentry.captureMessage('test');
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import { expect } from '@playwright/test';
2+
3+
import { sentryTest } from '../../../../utils/fixtures';
4+
import { getSentryRequest } from '../../../../utils/helpers';
5+
6+
sentryTest('should add a simple breadcrumb', async ({ getLocalTestPath, page }) => {
7+
const url = await getLocalTestPath({ testDir: __dirname });
8+
9+
const eventData = await getSentryRequest(page, url);
10+
11+
expect(eventData.breadcrumbs).toHaveLength(1);
12+
expect(eventData.breadcrumbs?.[0]).toMatchObject({
13+
category: 'foo',
14+
message: 'bar',
15+
level: 'baz',
16+
});
17+
expect(eventData.message).toBe('test');
18+
});
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Sentry.addBreadcrumb();
2+
3+
Sentry.captureMessage('test_undefined_arg');
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import { expect } from '@playwright/test';
2+
3+
import { sentryTest } from '../../../../utils/fixtures';
4+
import { getSentryRequest } from '../../../../utils/helpers';
5+
6+
sentryTest(
7+
'should add an empty breadcrumb initialized with a timestamp, when no argument is given',
8+
async ({ getLocalTestPath, page }) => {
9+
const url = await getLocalTestPath({ testDir: __dirname });
10+
11+
const eventData = await getSentryRequest(page, url);
12+
13+
expect(eventData.breadcrumbs).toHaveLength(1);
14+
expect(eventData.breadcrumbs?.[0]).toMatchObject({
15+
timestamp: expect.any(Number),
16+
});
17+
18+
expect(eventData.message).toBe('test_undefined_arg');
19+
},
20+
);

0 commit comments

Comments
 (0)