mattermost-mobile/app/actions/websocket/general.test.js
Elias Nahum ada6be9b7a
Update dependencies (#5686)
* Update dependencies

* Fix unsigned builds
2021-09-22 13:54:12 -03:00

60 lines
1.9 KiB
JavaScript

// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
/* eslint-disable no-import-assign */
import assert from 'assert';
import {Server, WebSocket as MockWebSocket} from 'mock-socket';
import * as Actions from '@actions/websocket';
import {Client4} from '@client/rest';
import {WebsocketEvents} from '@constants';
import TestHelper from '@test/test_helper';
import configureStore from '@test/test_store';
global.WebSocket = MockWebSocket;
describe('Websocket General Events', () => {
let store;
let mockServer;
beforeAll(async () => {
store = await configureStore();
await TestHelper.initBasic(Client4);
const connUrl = (Client4.getUrl() + '/api/v4/websocket').replace(/^http:/, 'ws:');
mockServer = new Server(connUrl);
return store.dispatch(Actions.init({websocketUrl: Client4.getUrl().replace(/^http:/, 'ws:')}));
});
afterAll(async () => {
Actions.close();
mockServer.stop();
await TestHelper.tearDown();
});
it('handle license changed', async () => {
mockServer.emit('message', JSON.stringify({event: WebsocketEvents.LICENSE_CHANGED, data: {license: {IsLicensed: 'true'}}}));
await TestHelper.wait(200);
const state = store.getState();
const license = state.entities.general.license;
assert.ok(license);
assert.ok(license.IsLicensed);
});
it('handle config changed', async () => {
mockServer.emit('message', JSON.stringify({event: WebsocketEvents.CONFIG_CHANGED, data: {config: {EnableCustomEmoji: 'true', EnableLinkPreviews: 'false'}}}));
await TestHelper.wait(200);
const state = store.getState();
const config = state.entities.general.config;
assert.ok(config);
assert.ok(config.EnableCustomEmoji === 'true');
assert.ok(config.EnableLinkPreviews === 'false');
});
});