Remove any existing IPC hanlders/listeners before assigning new ones inside the downloadsManager (#2493)

* Remove any existing IPC hanlders/listeners before assigning new ones inside the downloadsManager

* Mock more ipx functions during tests
This commit is contained in:
Tasos Boulis
2023-01-09 16:57:53 +02:00
committed by GitHub
parent 71d6cc21ca
commit 9f6893fdb2
6 changed files with 22 additions and 0 deletions

View File

@@ -50,6 +50,8 @@ jest.mock('electron', () => ({
on: jest.fn(),
handle: jest.fn(),
emit: jest.fn(),
removeHandler: jest.fn(),
removeListener: jest.fn(),
},
screen: {
on: jest.fn(),

View File

@@ -40,6 +40,8 @@ jest.mock('electron', () => {
emit: jest.fn(),
handle: jest.fn(),
on: jest.fn(),
removeHandler: jest.fn(),
removeListener: jest.fn(),
},
Menu: {
getApplicationMenu: () => ({

View File

@@ -77,9 +77,21 @@ export class DownloadsManager extends JsonFileManager<DownloadedItems> {
this.checkForDeletedFiles();
this.reloadFilesForMAS();
this.loadIPCHandlers();
};
private loadIPCHandlers = () => {
ipcMain.removeHandler(REQUEST_HAS_DOWNLOADS);
ipcMain.handle(REQUEST_HAS_DOWNLOADS, () => {
return this.hasDownloads();
});
ipcMain.removeListener(DOWNLOADS_DROPDOWN_FOCUSED, this.clearAutoCloseTimeout);
ipcMain.removeListener(UPDATE_AVAILABLE, this.onUpdateAvailable);
ipcMain.removeListener(UPDATE_DOWNLOADED, this.onUpdateDownloaded);
ipcMain.removeListener(UPDATE_PROGRESS, this.onUpdateProgress);
ipcMain.removeListener(NO_UPDATE_AVAILABLE, this.noUpdateAvailable);
ipcMain.on(DOWNLOADS_DROPDOWN_FOCUSED, this.clearAutoCloseTimeout);
ipcMain.on(UPDATE_AVAILABLE, this.onUpdateAvailable);
ipcMain.on(UPDATE_DOWNLOADED, this.onUpdateDownloaded);

View File

@@ -32,6 +32,8 @@ jest.mock('electron', () => {
emit: jest.fn(),
handle: jest.fn(),
on: jest.fn(),
removeHandler: jest.fn(),
removeListener: jest.fn(),
},
Notification: NotificationMock,
};

View File

@@ -41,6 +41,8 @@ jest.mock('electron', () => {
emit: jest.fn(),
handle: jest.fn(),
on: jest.fn(),
removeHandler: jest.fn(),
removeListener: jest.fn(),
},
Notification: NotificationMock,
};

View File

@@ -53,6 +53,8 @@ jest.mock('electron', () => {
emit: jest.fn(),
handle: jest.fn(),
on: jest.fn(),
removeHandler: jest.fn(),
removeListener: jest.fn(),
},
Notification: NotificationMock,
};