Skip to content

Commit 37219a1

Browse files
committed
Mock sentry service during tests
1 parent 3050648 commit 37219a1

File tree

2 files changed

+37
-0
lines changed

2 files changed

+37
-0
lines changed

tests/helpers/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { setupApplicationTest as upstreamSetupApplicationTest } from 'ember-qunit';
22

3+
import { setupSentryMock } from './sentry';
34
import setupMirage from './setup-mirage';
45

56
export { setupTest, setupRenderingTest } from 'ember-qunit';
@@ -8,4 +9,5 @@ export { setupTest, setupRenderingTest } from 'ember-qunit';
89
export function setupApplicationTest(hooks, options) {
910
upstreamSetupApplicationTest(hooks, options);
1011
setupMirage(hooks);
12+
setupSentryMock(hooks);
1113
}

tests/helpers/sentry.js

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
import Service from '@ember/service';
2+
3+
class MockSentryService extends Service {
4+
events = [];
5+
scope = new MockScope();
6+
7+
captureException(error) {
8+
let { scope, user } = this;
9+
let { tags } = scope;
10+
let event = { error, tags, user };
11+
this.events.push(event);
12+
}
13+
14+
configureScope(callback) {
15+
callback(this.scope);
16+
}
17+
18+
setUser(user) {
19+
this.user = user;
20+
}
21+
}
22+
23+
class MockScope {
24+
tags = {};
25+
26+
setTag(key, value) {
27+
this.tags[key] = value;
28+
}
29+
}
30+
31+
export function setupSentryMock(hooks) {
32+
hooks.beforeEach(function () {
33+
this.owner.register('service:sentry', MockSentryService);
34+
});
35+
}

0 commit comments

Comments
 (0)