2019-03-25 02:47:30 -05:00
|
|
|
import { autoLaunchInstance } from '../src/app/auto-launch-controller';
|
|
|
|
import { config } from '../src/app/config-handler';
|
2019-05-07 02:56:57 -05:00
|
|
|
import { app } from './__mocks__/electron';
|
2019-03-25 02:47:30 -05:00
|
|
|
|
|
|
|
jest.mock('electron-log');
|
|
|
|
|
|
|
|
jest.mock('../src/app/config-handler', () => {
|
2021-01-29 00:25:40 -06:00
|
|
|
return {
|
|
|
|
CloudConfigDataTypes: {
|
|
|
|
NOT_SET: 'NOT_SET',
|
|
|
|
ENABLED: 'ENABLED',
|
|
|
|
DISABLED: 'DISABLED',
|
|
|
|
},
|
|
|
|
config: {
|
|
|
|
getGlobalConfigFields: jest.fn(() => ''),
|
|
|
|
getConfigFields: jest.fn(() => {
|
|
|
|
return {
|
|
|
|
launchOnStartup: 'ENABLED',
|
|
|
|
};
|
|
|
|
}),
|
|
|
|
updateUserConfig: jest.fn(),
|
|
|
|
},
|
|
|
|
};
|
2019-03-25 02:47:30 -05:00
|
|
|
});
|
|
|
|
|
|
|
|
describe('auto launch controller', async () => {
|
2021-01-29 00:25:40 -06:00
|
|
|
beforeEach(() => {
|
|
|
|
jest.spyOn(config, 'getConfigFields').mockImplementation(() => {
|
|
|
|
return {
|
|
|
|
launchOnStartup: 'ENABLED',
|
|
|
|
};
|
2019-03-25 02:47:30 -05:00
|
|
|
});
|
2021-01-29 00:25:40 -06:00
|
|
|
jest.clearAllMocks();
|
|
|
|
});
|
2019-03-25 02:47:30 -05:00
|
|
|
|
2021-01-29 00:25:40 -06:00
|
|
|
it('should call `enableAutoLaunch` correctly', async () => {
|
|
|
|
const spyFn = 'setLoginItemSettings';
|
|
|
|
const spy = jest.spyOn(app, spyFn);
|
|
|
|
await autoLaunchInstance.enableAutoLaunch();
|
|
|
|
expect(spy).toBeCalled();
|
|
|
|
});
|
2019-03-25 02:47:30 -05:00
|
|
|
|
2021-01-29 00:25:40 -06:00
|
|
|
it('should call `disableAutoLaunch` correctly', async () => {
|
|
|
|
const spyFn = 'setLoginItemSettings';
|
|
|
|
const spy = jest.spyOn(app, spyFn);
|
|
|
|
await autoLaunchInstance.disableAutoLaunch();
|
|
|
|
expect(spy).toBeCalled();
|
|
|
|
});
|
2019-03-25 02:47:30 -05:00
|
|
|
|
2021-01-29 00:25:40 -06:00
|
|
|
it('should call `isAutoLaunchEnabled` correctly', async () => {
|
|
|
|
const spyFn = 'getLoginItemSettings';
|
|
|
|
const spy = jest.spyOn(app, spyFn);
|
|
|
|
await autoLaunchInstance.isAutoLaunchEnabled();
|
|
|
|
expect(spy).toBeCalled();
|
|
|
|
});
|
2019-03-25 02:47:30 -05:00
|
|
|
|
2021-01-29 00:25:40 -06:00
|
|
|
it('should enable AutoLaunch when `handleAutoLaunch` is called', async () => {
|
|
|
|
const spyFn = 'enableAutoLaunch';
|
|
|
|
const spy = jest.spyOn(autoLaunchInstance, spyFn);
|
|
|
|
jest
|
|
|
|
.spyOn(autoLaunchInstance, 'isAutoLaunchEnabled')
|
|
|
|
.mockImplementation(() => false);
|
|
|
|
await autoLaunchInstance.handleAutoLaunch();
|
|
|
|
expect(spy).toBeCalled();
|
|
|
|
});
|
2019-03-25 02:47:30 -05:00
|
|
|
|
2021-01-29 00:25:40 -06:00
|
|
|
it('should disable AutoLaunch when `handleAutoLaunch` is called', async () => {
|
|
|
|
jest.spyOn(config, 'getConfigFields').mockImplementation(() => {
|
|
|
|
return {
|
|
|
|
launchOnStartup: 'DISABLED',
|
|
|
|
};
|
2019-03-25 02:47:30 -05:00
|
|
|
});
|
2021-01-29 00:25:40 -06:00
|
|
|
const spyFn = 'disableAutoLaunch';
|
|
|
|
const spy = jest.spyOn(autoLaunchInstance, spyFn);
|
|
|
|
jest
|
|
|
|
.spyOn(autoLaunchInstance, 'isAutoLaunchEnabled')
|
|
|
|
.mockImplementation(() => ({ openAtLogin: true }));
|
|
|
|
await autoLaunchInstance.handleAutoLaunch();
|
|
|
|
expect(spy).toBeCalled();
|
|
|
|
});
|
2019-03-25 02:47:30 -05:00
|
|
|
});
|