mattermost-mobile/test/actions/teams.test.js
enahum 9125d0cac2 Initial Redux Store (#84)
* Moved SelectServer view state into store

* Moved view state for Login to stores

* Renamed RequestStatus values

* Merged duplicated view state for login

* initial redux store

* Fix eslint

* user store and force logout when necessary

* channel store

* address feedback

* Revert naming the property of data
2016-12-06 15:11:40 -05:00

50 lines
1.7 KiB
JavaScript

// Copyright (c) 2016 Mattermost, Inc. All Rights Reserved.
// See License.txt for license information.
import assert from 'assert';
import * as Actions from 'actions/teams';
import Client from 'client';
import configureStore from 'store/configureStore';
import {RequestStatus} from 'constants';
import TestHelper from 'test_helper';
describe('Actions.Teams', () => {
it('fetchTeams', (done) => {
TestHelper.initBasic(Client).then(() => {
const store = configureStore();
store.subscribe(() => {
const teamsRequest = store.getState().requests.teams.allTeams;
const teams = store.getState().entities.teams.teams;
if (teamsRequest.status === RequestStatus.SUCCESS || teamsRequest.status === RequestStatus.FAILURE) {
if (teamsRequest.error) {
done(new Error(JSON.stringify(teamsRequest.error)));
} else {
assert.ok(teams);
assert.ok(teams[TestHelper.basicTeam.id]);
done();
}
}
});
Actions.fetchTeams()(store.dispatch, store.getState);
});
});
it('selectTeam', (done) => {
TestHelper.initBasic(Client).then(() => {
const store = configureStore();
store.subscribe(() => {
const currentTeamId = store.getState().entities.teams.currentId;
assert.ok(currentTeamId);
assert.equal(currentTeamId, TestHelper.basicTeam.id);
done();
});
Actions.selectTeam(TestHelper.basicTeam)(store.dispatch, store.getState);
});
});
});