I would like to mock the initialize() in my test. When using the following code in typescript, it returns "ReferenceError: self is not defined". Any advice to solve this?
import "mocha";
import React from "react";
import * as sinon from "sinon";
import { app } from "@microsoft/teams-js";
const sandbox = sinon.createSandbox();
describe("", () => {
afterEach(() => {
sandbox.restore();
});
it("", async () => {
sandbox.stub(app, "initialize").callsFake(() => {
return Promise.reject(new Error(""));
});
//...
});
});
The error thrown is below:
ReferenceError: self is not defined
at Object.<anonymous> (C:\Users\...\node_modules\@microsoft\teams-js\dist\webpack:\microsoftTeams\webpack\universalModuleDefinition:10:4)
at Module._compile (internal/modules/cjs/loader.js:1072:14)
at Module.replacementCompile (C:\Users\yiqingzhao\...\node_modules\append-transform\index.js:60:13)
at Module._extensions..js (internal/modules/cjs/loader.js:1101:10)
at C:\Users\...\node_modules\append-transform\index.js:64:4
at require.extensions.<computed> (C:\Users\...\node_modules\ts-node\src\index.ts:1300:43)
at Object.<anonymous> (C:\Users\...\node_modules\append-transform\index.js:64:4)
at Module.load (internal/modules/cjs/loader.js:937:32)
at Function.Module._load (internal/modules/cjs/loader.js:778:12)
at Module.require (internal/modules/cjs/loader.js:961:19)
at require (internal/modules/cjs/helpers.js:92:18)
at Object.<anonymous> (C:\Users\...\test\useTeams.test.ts:14:13)
at Module._compile (internal/modules/cjs/loader.js:1072:14)
at Module.replacementCompile (C:\Users\...\node_modules\append-transform\index.js:60:13)
at Module.m._compile (C:\Users\...\node_modules\ts-node\src\index.ts:1310:23)
at module.exports (C:\Users\...\node_modules\default-require-extensions\js.js:7:9)
at C:\Users\...\node_modules\append-transform\index.js:64:4
at require.extensions.<computed> (C:\Users\...\node_modules\ts-node\src\index.ts:1313:12)
at Object.<anonymous> (C:\Users\...\node_modules\append-transform\index.js:64:4)
at Module.load (internal/modules/cjs/loader.js:937:32)
at Function.Module._load (internal/modules/cjs/loader.js:778:12)
at Module.require (internal/modules/cjs/loader.js:961:19)
at require (internal/modules/cjs/helpers.js:92:18)
at Object.exports.requireOrImport (C:\Users\...\node_modules\mocha\lib\nodejs\esm-utils.js:60:20)
at async Object.exports.loadFilesAsync (C:\Users\...\node_modules\mocha\lib\nodejs\esm-utils.js:103:20)
at async singleRun (C:\Users\...\node_modules\mocha\lib\cli\run-helpers.js:125:3)
at async Object.exports.handler (C:\Users\...\node_modules\mocha\lib\cli\run.js:374:5)