Skip to content

Commit bb8f917

Browse files
committed
fix remaning browser unit tests
1 parent 0e142ab commit bb8f917

File tree

5 files changed

+70
-92
lines changed

5 files changed

+70
-92
lines changed
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import { NoopTransport } from '@sentry/core';
2+
import { BrowserClientOptions } from '../../../src/client';
3+
4+
export function getDefaultBrowserClientOptions(options: Partial<BrowserClientOptions> = {}): BrowserClientOptions {
5+
return {
6+
integrations: [],
7+
transport: NoopTransport,
8+
stackParser: () => [],
9+
...options,
10+
};
11+
}

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

Lines changed: 47 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import {
1616
showReportDialog,
1717
wrap,
1818
} from '../../src';
19+
import { getDefaultBrowserClientOptions } from './helper/browser-client-options';
1920
import { SimpleTransport } from './mocks/simpletransport';
2021

2122
const dsn = 'https://[email protected]/4291';
@@ -75,7 +76,8 @@ describe('SentryBrowser', () => {
7576
describe('showReportDialog', () => {
7677
describe('user', () => {
7778
const EX_USER = { email: '[email protected]' };
78-
const client = new BrowserClient({ dsn }, new SimpleTransport({ dsn }));
79+
const options = getDefaultBrowserClientOptions({ dsn });
80+
const client = new BrowserClient(options, new SimpleTransport({ dsn }));
7981
const reportDialogSpy = jest.spyOn(client, 'showReportDialog');
8082

8183
beforeEach(() => {
@@ -139,53 +141,41 @@ describe('SentryBrowser', () => {
139141
});
140142

141143
it('should capture a message', done => {
142-
getCurrentHub().bindClient(
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,
152-
},
153-
new SimpleTransport({ dsn }),
154-
),
155-
);
144+
const options = getDefaultBrowserClientOptions({
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,
152+
});
153+
getCurrentHub().bindClient(new BrowserClient(options, new SimpleTransport({ dsn })));
156154
captureMessage('test');
157155
});
158156

159157
it('should capture an event', done => {
160-
getCurrentHub().bindClient(
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,
170-
},
171-
new SimpleTransport({ dsn }),
172-
),
173-
);
158+
const options = getDefaultBrowserClientOptions({
159+
beforeSend: (event: Event): Event | null => {
160+
expect(event.message).toBe('event');
161+
expect(event.exception).toBeUndefined();
162+
done();
163+
return event;
164+
},
165+
dsn,
166+
});
167+
getCurrentHub().bindClient(new BrowserClient(options, new SimpleTransport({ dsn })));
174168
captureEvent({ message: 'event' });
175169
});
176170

177171
it('should not dedupe an event on bound client', async () => {
178172
const localBeforeSend = jest.fn();
179-
getCurrentHub().bindClient(
180-
new BrowserClient(
181-
{
182-
beforeSend: localBeforeSend,
183-
dsn,
184-
integrations: [],
185-
},
186-
new SimpleTransport({ dsn }),
187-
),
188-
);
173+
const options = getDefaultBrowserClientOptions({
174+
beforeSend: localBeforeSend,
175+
dsn,
176+
integrations: [],
177+
});
178+
getCurrentHub().bindClient(new BrowserClient(options, new SimpleTransport({ dsn })));
189179

190180
captureMessage('event222');
191181
captureMessage('event222');
@@ -197,16 +187,12 @@ describe('SentryBrowser', () => {
197187

198188
it('should use inboundfilter rules of bound client', async () => {
199189
const localBeforeSend = jest.fn();
200-
getCurrentHub().bindClient(
201-
new BrowserClient(
202-
{
203-
beforeSend: localBeforeSend,
204-
dsn,
205-
integrations: [new Integrations.InboundFilters({ ignoreErrors: ['capture'] })],
206-
},
207-
new SimpleTransport({ dsn }),
208-
),
209-
);
190+
const options = getDefaultBrowserClientOptions({
191+
beforeSend: localBeforeSend,
192+
dsn,
193+
integrations: [new Integrations.InboundFilters({ ignoreErrors: ['capture'] })],
194+
});
195+
getCurrentHub().bindClient(new BrowserClient(options, new SimpleTransport({ dsn })));
210196

211197
captureMessage('capture');
212198

@@ -267,7 +253,8 @@ describe('SentryBrowser initialization', () => {
267253
});
268254

269255
it('should set SDK data when instantiating a client directly', () => {
270-
const client = new BrowserClient({ dsn }, new SimpleTransport({ dsn }));
256+
const options = getDefaultBrowserClientOptions({ dsn });
257+
const client = new BrowserClient(options, new SimpleTransport({ dsn }));
271258

272259
const sdkData = (client.getTransport() as any)._api.metadata?.sdk;
273260

@@ -309,20 +296,16 @@ describe('SentryBrowser initialization', () => {
309296

310297
describe('wrap()', () => {
311298
it('should wrap and call function while capturing error', done => {
312-
getCurrentHub().bindClient(
313-
new BrowserClient(
314-
{
315-
beforeSend: (event: Event): Event | null => {
316-
expect(event.exception!.values![0].type).toBe('TypeError');
317-
expect(event.exception!.values![0].value).toBe('mkey');
318-
done();
319-
return null;
320-
},
321-
dsn,
322-
},
323-
new SimpleTransport({ dsn }),
324-
),
325-
);
299+
const options = getDefaultBrowserClientOptions({
300+
beforeSend: (event: Event): Event | null => {
301+
expect(event.exception!.values![0].type).toBe('TypeError');
302+
expect(event.exception!.values![0].value).toBe('mkey');
303+
done();
304+
return null;
305+
},
306+
dsn,
307+
});
308+
getCurrentHub().bindClient(new BrowserClient(options, new SimpleTransport({ dsn })));
326309

327310
try {
328311
wrap(() => {

packages/browser/test/unit/integrations/linkederrors.test.ts

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,11 @@
11
import { Event as SentryEvent, Exception, ExtendedError } from '@sentry/types';
22
import { createStackParser } from '@sentry/utils';
33

4-
import { BrowserClient, BrowserClientOptions } from '../../../src/client';
4+
import { BrowserClient } from '../../../src/client';
55
import * as LinkedErrorsModule from '../../../src/integrations/linkederrors';
66
import { defaultStackParsers } from '../../../src/stack-parsers';
77
import { setupBrowserTransport } from '../../../src/transports';
8-
import { NoopTransport } from '@sentry/core/src/transports/noop';
9-
10-
function getDefaultBrowserOptions(options: Partial<BrowserClientOptions> = {}): BrowserClientOptions {
11-
return {
12-
integrations: [],
13-
transport: NoopTransport,
14-
stackParser: () => [],
15-
...options,
16-
};
17-
}
8+
import { getDefaultBrowserClientOptions } from '../helper/browser-client-options';
189

1910
const parser = createStackParser(...defaultStackParsers);
2011

@@ -55,7 +46,7 @@ describe('LinkedErrors', () => {
5546
one.cause = two;
5647

5748
const originalException = one;
58-
const options = getDefaultBrowserOptions({ stackParser: parser });
49+
const options = getDefaultBrowserClientOptions({ stackParser: parser });
5950
const client = new BrowserClient(options, setupBrowserTransport(options).transport);
6051
return client.eventFromException(originalException).then(event => {
6152
const result = LinkedErrorsModule._handler(parser, 'cause', 5, event, {
@@ -86,7 +77,7 @@ describe('LinkedErrors', () => {
8677
one.reason = two;
8778

8879
const originalException = one;
89-
const options = getDefaultBrowserOptions({ stackParser: parser });
80+
const options = getDefaultBrowserClientOptions({ stackParser: parser });
9081
const client = new BrowserClient(options, setupBrowserTransport(options).transport);
9182
return client.eventFromException(originalException).then(event => {
9283
const result = LinkedErrorsModule._handler(parser, 'reason', 5, event, {
@@ -113,7 +104,7 @@ describe('LinkedErrors', () => {
113104
one.cause = two;
114105
two.cause = three;
115106

116-
const options = getDefaultBrowserOptions({ stackParser: parser });
107+
const options = getDefaultBrowserClientOptions({ stackParser: parser });
117108
const client = new BrowserClient(options, setupBrowserTransport(options).transport);
118109
const originalException = one;
119110
return client.eventFromException(originalException).then(event => {

packages/browser/test/unit/sdk.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import { NoopTransport, Scope } from '@sentry/core';
22
import { Client, Integration } from '@sentry/types';
3-
import { BrowserOptions } from '../../src/client';
43

54
import { MockIntegration } from '@sentry/core/test/lib/sdk.test';
65

76
import { init } from '../../src/sdk';
7+
import { BrowserOptions } from '../../src';
88
// eslint-disable-next-line no-var
99
declare var global: any;
1010

packages/browser/test/unit/transports/setup.test.ts

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,8 @@ import {
77
setupBrowserTransport,
88
XHRTransport,
99
} from '../../../src/transports';
10+
import { getDefaultBrowserClientOptions } from '../helper/browser-client-options';
1011
import { SimpleTransport } from '../mocks/simpletransport';
11-
import { BrowserClientOptions } from '../../../src/client';
12-
13-
function getDefaultBrowserOptions(options: Partial<BrowserClientOptions> = {}): BrowserClientOptions {
14-
return {
15-
integrations: [],
16-
transport: NoopTransport,
17-
stackParser: () => [],
18-
...options,
19-
};
20-
}
2112

2213
const DSN = 'https://username@domain/123';
2314

@@ -74,7 +65,7 @@ describe('setupBrowserTransport', () => {
7465
});
7566

7667
it('returns the instantiated transport passed via the options', () => {
77-
const options = getDefaultBrowserOptions({ dsn: DSN, transport: SimpleTransport });
68+
const options = getDefaultBrowserClientOptions({ dsn: DSN, transport: SimpleTransport });
7869
const { transport, newTransport } = setupBrowserTransport(options);
7970

8071
expect(transport).toBeDefined();
@@ -83,7 +74,8 @@ describe('setupBrowserTransport', () => {
8374
});
8475

8576
it('returns fetchTransports if fetch is supported', () => {
86-
const options = getDefaultBrowserOptions({ dsn: DSN });
77+
const options = getDefaultBrowserClientOptions({ dsn: DSN });
78+
delete options.transport;
8779
const { transport, newTransport } = setupBrowserTransport(options);
8880

8981
expect(transport).toBeDefined();
@@ -96,7 +88,8 @@ describe('setupBrowserTransport', () => {
9688
it('returns xhrTransports if fetch is not supported', () => {
9789
fetchSupported = false;
9890

99-
const options = getDefaultBrowserOptions({ dsn: DSN });
91+
const options = getDefaultBrowserClientOptions({ dsn: DSN });
92+
delete options.transport;
10093
const { transport, newTransport } = setupBrowserTransport(options);
10194

10295
expect(transport).toBeDefined();

0 commit comments

Comments
 (0)