jest.mock('./../Commons/Logger/Logger'); jest.mock('../HelperFunctions', () => { let responseData: any; const result: { [key: string]: any } = jest.genMockFromModule('../HelperFunctions'); result.sendRequestToFramework = jest.fn().mockImplementation(() => Promise.resolve(responseData)); result.sendRegisterRequestToFramework = jest.fn().mockImplementation(() => Promise.resolve()); result.__setResponseData = (data: any) => { responseData = data; }; return result; }); import * as gc from './GlobalControlAPI'; import * as helper from './HelperFunctions'; describe('global control api', () => { test('register set presence', async () => { const callback: (presense: string, reason?: string) => Promise = jest.fn(); const promise = gc.registerSetPresence(callback); await expect(promise).resolves.toBeUndefined(); }); test('register get presence', async () => { const callback: () => Promise<{ presence: string; reason?: string; }> = jest.fn(); const promise = gc.registerGetPresence(callback); await expect(promise).resolves.toBeUndefined(); }); test('on presence changed', async () => { const promise = gc.onPresenceChanged('Not Ready', 'Lunch'); await expect(promise).resolves.toBeUndefined(); }); test('register get logged in', async () => { const callback: () => Promise = jest.fn(); const promise = gc.registerGetLoggedIn(callback); await expect(promise).resolves.toBeUndefined(); }); test('logout', async () => { const promise = gc.logout(); await expect(promise).resolves.toBeUndefined(); }); test('login', async () => { const promise = gc.login(); await expect(promise).resolves.toBeUndefined(); }); test('set toolbar enabled', async () => { const promise = gc.setToolbarEnabled(true); await expect(promise).resolves.toBeUndefined(); }); });