Skip to content

Commit 14f1e58

Browse files
committed
fix browser unit tests
1 parent 56d7633 commit 14f1e58

File tree

1 file changed

+61
-42
lines changed

1 file changed

+61
-42
lines changed

packages/browser/test/unit/index.test.ts

Lines changed: 61 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ describe('SentryBrowser', () => {
7575
describe('showReportDialog', () => {
7676
describe('user', () => {
7777
const EX_USER = { email: '[email protected]' };
78-
const client = new BrowserClient({ dsn });
78+
const client = new BrowserClient({ dsn }, new SimpleTransport({ dsn }));
7979
const reportDialogSpy = jest.spyOn(client, 'showReportDialog');
8080

8181
beforeEach(() => {
@@ -140,42 +140,51 @@ describe('SentryBrowser', () => {
140140

141141
it('should capture a message', done => {
142142
getCurrentHub().bindClient(
143-
new BrowserClient({
144-
beforeSend: (event: Event): Event | null => {
145-
expect(event.message).toBe('test');
146-
expect(event.exception).toBeUndefined();
147-
done();
148-
return event;
143+
new BrowserClient(
144+
{
145+
beforeSend: (event: Event): Event | null => {
146+
expect(event.message).toBe('test');
147+
expect(event.exception).toBeUndefined();
148+
done();
149+
return event;
150+
},
151+
dsn,
149152
},
150-
dsn,
151-
}),
153+
new SimpleTransport({ dsn }),
154+
),
152155
);
153156
captureMessage('test');
154157
});
155158

156159
it('should capture an event', done => {
157160
getCurrentHub().bindClient(
158-
new BrowserClient({
159-
beforeSend: (event: Event): Event | null => {
160-
expect(event.message).toBe('event');
161-
expect(event.exception).toBeUndefined();
162-
done();
163-
return event;
161+
new BrowserClient(
162+
{
163+
beforeSend: (event: Event): Event | null => {
164+
expect(event.message).toBe('event');
165+
expect(event.exception).toBeUndefined();
166+
done();
167+
return event;
168+
},
169+
dsn,
164170
},
165-
dsn,
166-
}),
171+
new SimpleTransport({ dsn }),
172+
),
167173
);
168174
captureEvent({ message: 'event' });
169175
});
170176

171177
it('should not dedupe an event on bound client', async () => {
172178
const localBeforeSend = jest.fn();
173179
getCurrentHub().bindClient(
174-
new BrowserClient({
175-
beforeSend: localBeforeSend,
176-
dsn,
177-
integrations: [],
178-
}),
180+
new BrowserClient(
181+
{
182+
beforeSend: localBeforeSend,
183+
dsn,
184+
integrations: [],
185+
},
186+
new SimpleTransport({ dsn }),
187+
),
179188
);
180189

181190
captureMessage('event222');
@@ -189,11 +198,14 @@ describe('SentryBrowser', () => {
189198
it('should use inboundfilter rules of bound client', async () => {
190199
const localBeforeSend = jest.fn();
191200
getCurrentHub().bindClient(
192-
new BrowserClient({
193-
beforeSend: localBeforeSend,
194-
dsn,
195-
integrations: [new Integrations.InboundFilters({ ignoreErrors: ['capture'] })],
196-
}),
201+
new BrowserClient(
202+
{
203+
beforeSend: localBeforeSend,
204+
dsn,
205+
integrations: [new Integrations.InboundFilters({ ignoreErrors: ['capture'] })],
206+
},
207+
new SimpleTransport({ dsn }),
208+
),
197209
);
198210

199211
captureMessage('capture');
@@ -246,18 +258,22 @@ describe('SentryBrowser initialization', () => {
246258
it('should set SDK data when Sentry.init() is called', () => {
247259
init({ dsn });
248260

249-
const sdkData = (getCurrentHub().getClient() as any).getTransport()._api.metadata?.sdk;
261+
// TODO(v7): Check if this is the correct way to go here
262+
// const sdkData = (getCurrentHub().getClient() as any).getTransport()._api.metadata?.sdk;
263+
const sdkData: any = getCurrentHub().getClient()?.getOptions()._metadata?.sdk!;
250264

251-
expect(sdkData.name).toBe('sentry.javascript.browser');
252-
expect(sdkData.packages[0].name).toBe('npm:@sentry/browser');
253-
expect(sdkData.packages[0].version).toBe(SDK_VERSION);
254-
expect(sdkData.version).toBe(SDK_VERSION);
265+
expect(sdkData?.name).toBe('sentry.javascript.browser');
266+
expect(sdkData?.packages[0].name).toBe('npm:@sentry/browser');
267+
expect(sdkData?.packages[0].version).toBe(SDK_VERSION);
268+
expect(sdkData?.version).toBe(SDK_VERSION);
255269
});
256270

257271
it('should set SDK data when instantiating a client directly', () => {
258-
const client = new BrowserClient({ dsn });
272+
const client = new BrowserClient({ dsn }, new SimpleTransport({ dsn }));
259273

260-
const sdkData = (client as any).getTransport()._api.metadata?.sdk;
274+
// TODO(v7): Check if this is the correct way to go here
275+
// const sdkData = (getCurrentHub().getClient() as any).getTransport()._api.metadata?.sdk;
276+
const sdkData = (client as any).getOptions()._metadata?.sdk;
261277

262278
expect(sdkData.name).toBe('sentry.javascript.browser');
263279
expect(sdkData.packages[0].name).toBe('npm:@sentry/browser');
@@ -298,15 +314,18 @@ describe('SentryBrowser initialization', () => {
298314
describe('wrap()', () => {
299315
it('should wrap and call function while capturing error', done => {
300316
getCurrentHub().bindClient(
301-
new BrowserClient({
302-
beforeSend: (event: Event): Event | null => {
303-
expect(event.exception!.values![0].type).toBe('TypeError');
304-
expect(event.exception!.values![0].value).toBe('mkey');
305-
done();
306-
return null;
317+
new BrowserClient(
318+
{
319+
beforeSend: (event: Event): Event | null => {
320+
expect(event.exception!.values![0].type).toBe('TypeError');
321+
expect(event.exception!.values![0].value).toBe('mkey');
322+
done();
323+
return null;
324+
},
325+
dsn,
307326
},
308-
dsn,
309-
}),
327+
new SimpleTransport({ dsn }),
328+
),
310329
);
311330

312331
try {

0 commit comments

Comments
 (0)