Skip to content

Commit c78d1ed

Browse files
committed
Restore fetch mock correctly
1 parent 09cfb79 commit c78d1ed

File tree

2 files changed

+7
-8
lines changed

2 files changed

+7
-8
lines changed

packages/compass-intercom/src/setup-intercom.spec.ts

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,10 @@ const mockUser: User = {
1919

2020
describe('setupIntercom', function () {
2121
let backupEnv: Partial<typeof process.env>;
22-
let fetchMock: SinonStub;
22+
let fetchMock: SinonStub<
23+
Parameters<typeof globalThis.fetch>,
24+
ReturnType<typeof globalThis.fetch>
25+
>;
2326
let preferences: PreferencesAccess;
2427

2528
async function testRunSetupIntercom() {
@@ -47,11 +50,7 @@ describe('setupIntercom', function () {
4750
process.env.HADRON_APP_VERSION = 'v0.0.0-test.123';
4851
process.env.NODE_ENV = 'test';
4952
process.env.HADRON_METRICS_INTERCOM_APP_ID = 'appid123';
50-
fetchMock = sinon.stub();
51-
window.fetch = fetchMock;
52-
// NOTE: we use 301 since intercom will redirects
53-
// to the actual location of the widget script
54-
fetchMock.resolves({ status: 301 } as Response);
53+
fetchMock = sinon.stub(globalThis, 'fetch');
5554
preferences = await createSandboxFromDefaultPreferences();
5655
await preferences.savePreferences({
5756
enableFeedbackPanel: true,
@@ -66,7 +65,7 @@ describe('setupIntercom', function () {
6665
process.env.HADRON_PRODUCT_NAME = backupEnv.HADRON_PRODUCT_NAME as any;
6766
process.env.HADRON_APP_VERSION = backupEnv.HADRON_APP_VERSION as any;
6867
process.env.NODE_ENV = backupEnv.NODE_ENV;
69-
fetchMock.reset();
68+
fetchMock.restore();
7069
});
7170

7271
describe('when it can be enabled', function () {

packages/compass-intercom/src/setup-intercom.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ export async function setupIntercom(
5858

5959
const intercomWidgetUrl = buildIntercomScriptUrl(metadata.app_id);
6060

61-
const response = await window.fetch(intercomWidgetUrl).catch((e) => {
61+
const response = await fetch(intercomWidgetUrl).catch((e) => {
6262
debug('fetch failed', e);
6363
return null;
6464
});

0 commit comments

Comments
 (0)