it('rejects when dismissed', () => { ipcMain.once.mockImplementation((channel, cb) => { if (channel === 'PairingCodeDismissed') { cb(); } }); const res = outOfBandDelegate.pairingDidBeginWithRequest({ pairingCode }); expect(res.promise).rejects.toMatchErrorMessage(ErrorMessages.PairingCancelledByUser); expect(ipcMain.removeListener).toHaveBeenCalledTimes(2); });
it('resolves with the pairing request when acknowledged', () => { ipcMain.once.mockImplementation((channel, cb) => { if (channel === 'PairingCodeAcknowledged') { cb(); } }); const res = outOfBandDelegate.pairingDidBeginWithRequest({ pairingCode }); expect(res.promise).resolves.toMatchObject({ pairingCode }); expect(ipcMain.removeListener).toHaveBeenCalledTimes(2); });
beforeEach(() => { guiProxy.sendToGui.mockReturnValue(true); ipcMain.removeListener = jest.fn(); ipcMain.once.mockReset(); ipcMain.removeListener.mockClear(); });
/* eslint-disable no-unused-expressions */ // Pre-run import chai from 'chai'; import { ipcMain } from 'electron'; // Actual Test Imports import EmitterClass from '../../build/main/utils/Emitter'; import MockIPCWindow from './testdata/moch_ipc_window'; chai.should(); const originalIPCMainOn = ipcMain.on.bind(ipcMain); const originalIPCMainOnce = ipcMain.once.bind(ipcMain); describe('Emitter (main)', () => { let Emitter; let testWindow1; let testWindow2; let IPCHooks; let IPCHooksOnce; beforeEach(() => { // Mock IPC Main IPCHooks = {}; IPCHooksOnce = {}; ipcMain.on = (eventName, fn) => { IPCHooks[eventName] = IPCHooks[eventName] || []; IPCHooks[eventName].push(fn); originalIPCMainOn(eventName, fn); }; ipcMain.once = (eventName, fn) => {