Files
mattermostest/src/main/menus/tray.test.js
Devin Binnie f4f4511cc7 Remove WindowManager, separate functionality into smaller modules (#2682)
* Move sendToRenderer to respective singletons

* Move to using ViewManager call for getting view by webContentsId

* Move show and create logic to main window, handle deep linking seperately

* Move resizing logic and event handing to mainWindow

* Move server switching logic to main/app

* Move tab switching logic to main/app, rely on showById for most usage

* Migrate remaining functions, remove windowManager objects, set up imports for self-contained singletons

* Fix E2E tests

* Update src/main/app/servers.ts

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>

---------

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2023-04-19 11:04:26 -04:00

41 lines
1.3 KiB
JavaScript

// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
'use strict';
import ServerManager from 'common/servers/serverManager';
import {createTemplate} from './tray';
jest.mock('main/i18nManager', () => ({
localizeMessage: jest.fn(),
}));
jest.mock('common/servers/serverManager', () => ({
getOrderedServers: jest.fn(),
}));
jest.mock('main/app/servers', () => ({
switchServer: jest.fn(),
}));
jest.mock('main/windows/settingsWindow', () => ({}));
describe('main/menus/tray', () => {
it('should show the first 9 servers (using order)', () => {
const servers = [...Array(15).keys()].map((key) => ({
id: `server-${key}`,
name: `server-${key}`,
url: `http://server-${key}.com`,
}));
ServerManager.getOrderedServers.mockReturnValue(servers);
const menu = createTemplate();
for (let i = 0; i < 9; i++) {
const menuItem = menu.find((item) => item.label === `server-${i}`);
expect(menuItem).not.toBe(undefined);
}
for (let i = 9; i < 15; i++) {
const menuItem = menu.find((item) => item.label === `server-${i}`);
expect(menuItem).toBe(undefined);
}
});
});