[MM-40406] Add more singletons, refactor main.ts into pieces, add tests and some cleanup + tests for additional coverage (#1890)

* Refactor main.ts dependencies into singleton pattern

* Split main.ts into testable pieces, some other refactoring for singleton pattern

* Unit tests for main/app/app

* Unit tests for main/app/config

* Unit tests for main/app/initialize

* Unit tests for main/app/intercom

* Unit tests for main/app/utils

* Add some more tests to get to 70% coverage

* Fix for linux

* Fix for alternate data dir paths

* Fix E2E test
This commit is contained in:
Devin Binnie
2021-12-09 15:11:55 -05:00
committed by GitHub
parent 850eadceb9
commit 39fbdf45c5
51 changed files with 2486 additions and 1211 deletions

View File

@@ -5,14 +5,18 @@
import fs from 'fs';
import {ipcMain} from 'electron';
import log from 'electron-log';
import {TrustedOrigin, PermissionType} from 'types/trustedOrigin';
import {UPDATE_PATHS} from 'common/communication';
import urlUtils from 'common/utils/url';
import * as Validator from './Validator';
export default class TrustedOriginsStore {
import {trustedOriginsStoreFile} from './constants';
export class TrustedOriginsStore {
storeFile: string;
data?: Map<string, TrustedOrigin>;
@@ -108,3 +112,13 @@ export default class TrustedOriginsStore {
return urlPermissions ? urlPermissions[permission] : undefined;
}
}
const trustedOriginsStore = new TrustedOriginsStore(trustedOriginsStoreFile);
export default trustedOriginsStore;
ipcMain.on(UPDATE_PATHS, () => {
trustedOriginsStore.storeFile = trustedOriginsStoreFile;
if (trustedOriginsStore.data) {
trustedOriginsStore.load();
}
});