signal-desktop/ts/test-node/util/toggleMaximizedBrowserWindow_test.ts
2021-02-01 12:01:25 -08:00

37 lines
1.2 KiB
TypeScript

// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as sinon from 'sinon';
import { BrowserWindow } from 'electron';
import { toggleMaximizedBrowserWindow } from '../../util/toggleMaximizedBrowserWindow';
describe('toggleMaximizedBrowserWindow', () => {
const createFakeWindow = () => ({
isMaximized: sinon.stub(),
unmaximize: sinon.spy(),
maximize: sinon.spy(),
});
it('maximizes an unmaximized window', () => {
const browserWindow = createFakeWindow();
browserWindow.isMaximized.returns(false);
// eslint-disable-next-line @typescript-eslint/no-explicit-any
toggleMaximizedBrowserWindow((browserWindow as any) as BrowserWindow);
sinon.assert.calledOnce(browserWindow.maximize);
sinon.assert.notCalled(browserWindow.unmaximize);
});
it('unmaximizes a maximized window', () => {
const browserWindow = createFakeWindow();
browserWindow.isMaximized.returns(true);
// eslint-disable-next-line @typescript-eslint/no-explicit-any
toggleMaximizedBrowserWindow((browserWindow as any) as BrowserWindow);
sinon.assert.notCalled(browserWindow.maximize);
sinon.assert.calledOnce(browserWindow.unmaximize);
});
});