Skip to content

Commit 82bb012

Browse files
committed
fix type errors in browser tests
1 parent 638d328 commit 82bb012

File tree

4 files changed

+20
-11
lines changed

4 files changed

+20
-11
lines changed

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

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
1-
import { ExtendedError } from '@sentry/types';
1+
import { Event as SentryEvent, Exception, ExtendedError } from '@sentry/types';
22

33
import { BrowserBackend } from '../../../src/backend';
44
import * as LinkedErrorsModule from '../../../src/integrations/linkederrors';
55

6+
type EventWithException = SentryEvent & {
7+
exception: {
8+
values: Exception[];
9+
};
10+
};
11+
612
describe('LinkedErrors', () => {
713
describe('handler', () => {
814
it('should bail out if event does not contain exception', () => {
@@ -38,7 +44,7 @@ describe('LinkedErrors', () => {
3844
return backend.eventFromException(originalException).then(event => {
3945
const result = LinkedErrorsModule._handler('cause', 5, event, {
4046
originalException,
41-
});
47+
}) as EventWithException;
4248

4349
// It shouldn't include root exception, as it's already processed in the event by the main error handler
4450
expect(result.exception.values.length).toBe(3);
@@ -68,7 +74,7 @@ describe('LinkedErrors', () => {
6874
return backend.eventFromException(originalException).then(event => {
6975
const result = LinkedErrorsModule._handler('reason', 5, event, {
7076
originalException,
71-
});
77+
}) as EventWithException;
7278

7379
expect(result.exception.values.length).toBe(3);
7480
expect(result.exception.values[0].type).toBe('SyntaxError');
@@ -95,7 +101,7 @@ describe('LinkedErrors', () => {
95101
return backend.eventFromException(originalException).then(event => {
96102
const result = LinkedErrorsModule._handler('cause', 2, event, {
97103
originalException,
98-
});
104+
}) as EventWithException;
99105

100106
expect(result.exception.values.length).toBe(2);
101107
expect(result.exception.values[0].type).toBe('TypeError');

packages/browser/test/unit/mocks/simpletransport.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { eventStatusFromHttpCode, resolvedSyncPromise } from '@sentry/utils';
33
import { Event, Response } from '../../../src';
44
import { BaseTransport } from '../../../src/transports';
55

6+
// @ts-ignore It's okay that we're not implementing the `_sendRequest()` method because we don't use it in our tests
67
export class SimpleTransport extends BaseTransport {
78
public sendEvent(_: Event): PromiseLike<Response> {
89
return this._buffer.add(() =>

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ import { BaseTransport } from '../../../src/transports/base';
33
const testDsn = 'https://[email protected]/42';
44
const envelopeEndpoint = 'https://sentry.io/api/42/envelope/?sentry_key=123&sentry_version=7';
55

6+
// @ts-ignore We're purposely not implementing the methods of the abstract `BaseTransport` class in order to be able to
7+
// assert on what the class provides and what it leaves to the concrete class to implement
68
class SimpleTransport extends BaseTransport {}
79

810
describe('BaseTransport', () => {
@@ -111,12 +113,12 @@ describe('BaseTransport', () => {
111113
});
112114
});
113115

114-
it('doesnt provide sendEvent() implementation', () => {
116+
it('doesnt provide sendEvent() implementation', async () => {
115117
expect.assertions(1);
116118
const transport = new SimpleTransport({ dsn: testDsn });
117119

118120
try {
119-
void transport.sendEvent({});
121+
await transport.sendEvent({});
120122
} catch (e) {
121123
expect(e).toBeDefined();
122124
}

packages/browser/test/unit/transports/new-xhr.test.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ function createXHRMock() {
2727
case 'Retry-After':
2828
return '10';
2929
case `${retryAfterSeconds}`:
30-
return;
30+
return null;
3131
default:
3232
return `${retryAfterSeconds}:error:scope`;
3333
}
@@ -57,7 +57,7 @@ describe('NewXHRTransport', () => {
5757
expect(xhrMock.setRequestHeader).toHaveBeenCalledTimes(0);
5858
expect(xhrMock.send).toHaveBeenCalledTimes(0);
5959

60-
await Promise.all([transport.send(ERROR_ENVELOPE), (xhrMock as XMLHttpRequest).onreadystatechange(null)]);
60+
await Promise.all([transport.send(ERROR_ENVELOPE), (xhrMock as XMLHttpRequest).onreadystatechange!({} as Event)]);
6161

6262
expect(xhrMock.open).toHaveBeenCalledTimes(1);
6363
expect(xhrMock.open).toHaveBeenCalledWith('POST', DEFAULT_XHR_TRANSPORT_OPTIONS.url);
@@ -70,7 +70,7 @@ describe('NewXHRTransport', () => {
7070

7171
const [res] = await Promise.all([
7272
transport.send(ERROR_ENVELOPE),
73-
(xhrMock as XMLHttpRequest).onreadystatechange(null),
73+
(xhrMock as XMLHttpRequest).onreadystatechange!({} as Event),
7474
]);
7575

7676
expect(res).toBeDefined();
@@ -80,7 +80,7 @@ describe('NewXHRTransport', () => {
8080
it('sets rate limit response headers', async () => {
8181
const transport = makeNewXHRTransport(DEFAULT_XHR_TRANSPORT_OPTIONS);
8282

83-
await Promise.all([transport.send(ERROR_ENVELOPE), (xhrMock as XMLHttpRequest).onreadystatechange(null)]);
83+
await Promise.all([transport.send(ERROR_ENVELOPE), (xhrMock as XMLHttpRequest).onreadystatechange!({} as Event)]);
8484

8585
expect(xhrMock.getResponseHeader).toHaveBeenCalledTimes(2);
8686
expect(xhrMock.getResponseHeader).toHaveBeenCalledWith('X-Sentry-Rate-Limits');
@@ -99,7 +99,7 @@ describe('NewXHRTransport', () => {
9999
};
100100

101101
const transport = makeNewXHRTransport(options);
102-
await Promise.all([transport.send(ERROR_ENVELOPE), (xhrMock as XMLHttpRequest).onreadystatechange(null)]);
102+
await Promise.all([transport.send(ERROR_ENVELOPE), (xhrMock as XMLHttpRequest).onreadystatechange!({} as Event)]);
103103

104104
expect(xhrMock.setRequestHeader).toHaveBeenCalledTimes(3);
105105
expect(xhrMock.setRequestHeader).toHaveBeenCalledWith('referrerPolicy', headers.referrerPolicy);

0 commit comments

Comments
 (0)