UNPKG

mattermost-redux

Version:

Common code (API client, Redux stores, logic, utility functions) for building a Mattermost client

82 lines (63 loc) 2.61 kB
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. // See LICENSE.txt for license information. import assert from 'assert'; import deepFreezeAndThrowOnMutation from 'utils/deep_freeze'; import TestHelper from 'test/test_helper'; import * as Selectors from 'selectors/entities/schemes'; import {ScopeTypes} from 'constants/schemes'; describe('Selectors.Schemes', () => { const scheme1 = TestHelper.mockSchemeWithId(); scheme1.scope = ScopeTypes.CHANNEL; const scheme2 = TestHelper.mockSchemeWithId(); scheme2.scope = ScopeTypes.TEAM; const schemes = {}; schemes[scheme1.id] = scheme1; schemes[scheme2.id] = scheme2; const channel1 = TestHelper.fakeChannelWithId(); channel1.scheme_id = scheme1.id; const channel2 = TestHelper.fakeChannelWithId(); const channels = {}; channels[channel1.id] = channel1; channels[channel2.id] = channel2; const team1 = TestHelper.fakeTeamWithId(); team1.scheme_id = scheme2.id; const team2 = TestHelper.fakeTeamWithId(); const teams = {}; teams[team1.id] = team1; teams[team2.id] = team2; const testState = deepFreezeAndThrowOnMutation({ entities: { schemes: {schemes}, channels: {channels}, teams: {teams}, }, }); it('getSchemes', () => { assert.deepEqual(Selectors.getSchemes(testState), schemes); }); it('getScheme', () => { assert.equal(Selectors.getScheme(testState, scheme1.id), scheme1); }); it('makeGetSchemeChannels', () => { const getSchemeChannels = Selectors.makeGetSchemeChannels(); const results = getSchemeChannels(testState, {schemeId: scheme1.id}); assert.equal(results.length, 1); assert.equal(results[0].name, channel1.name); }); it('makeGetSchemeChannels with team scope scheme', () => { const getSchemeChannels = Selectors.makeGetSchemeChannels(); const results = getSchemeChannels(testState, {schemeId: scheme2.id}); assert.equal(results.length, 0); }); it('makeGetSchemeTeams', () => { const getSchemeTeams = Selectors.makeGetSchemeTeams(); const results = getSchemeTeams(testState, {schemeId: scheme2.id}); assert.equal(results.length, 1); assert.equal(results[0].name, team1.name); }); it('getSchemeTeams with channel scope scheme', () => { const getSchemeTeams = Selectors.makeGetSchemeTeams(); const results = getSchemeTeams(testState, {schemeId: scheme1.id}); assert.equal(results.length, 0); }); });