blob: e1ddb8f3d05871bc3a5e92120c76f696d7925a15 [file] [log] [blame]
// Licensed under the Apache License, Version 2.0 (the "License"); you may not
// use this file except in compliance with the License. You may obtain a copy of
// the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
// License for the specific language governing permissions and limitations under
// the License.
import reducer from '../reducers';
import ActionTypes from '../actiontypes';
import fakedResponse from "./fakeActiveTaskResponse";
describe('Active Tasks -- Stores', () => {
let initState;
beforeEach(() => {
initState = reducer(undefined, {
type: ActionTypes.ACTIVE_TASKS_FETCH_AND_SET,
options: fakedResponse
});
});
describe('Active Task Stores - Filter Tab Tray', () => {
it('should filter the table correctly, by radio -- All Tasks', () => {
const state = reducer(initState, {
type: ActionTypes.ACTIVE_TASKS_SWITCH_TAB,
options: 'all_tasks'
});
expect(state.tasks.length).toBeGreaterThan(0);
expect(state.tasks.length).toEqual(state.filteredTasks.length);
});
it('should filter the table correctly, by radio', () => {
const state = reducer(initState, {
type: ActionTypes.ACTIVE_TASKS_SWITCH_TAB,
options: 'replication'
});
//parse table and check that it only contains objects with type: Replication
expect(state.filteredTasks.length > 0).toBeTruthy();
state.filteredTasks.forEach(task => {
expect(task.type).toEqual('replication');
expect(task.type).toEqual(state.selectedRadio);
});
});
it('should search the table correctly', () => {
var searchTerm = 'base';
const state = reducer(initState, {
type: ActionTypes.ACTIVE_TASKS_SET_SEARCH_TERM,
options: searchTerm
});
const fakeFilteredTable = [
{ user: 'information'},
{ user: 'ooo'}
];
expect(fakeFilteredTable[0].user).toBe(state.filteredTasks[0].user);
expect(fakeFilteredTable[1].user).toBe(state.filteredTasks[1].user);
});
});
describe('Active Task Stores - Table Header Sort - Select Ascending/Descending', () => {
it('should set header as ascending, on default', () => {
const state = reducer(initState, {
type: ActionTypes.ACTIVE_TASKS_SWITCH_TAB,
options: 'all_tasks'
});
expect(state.headerIsAscending).toBeTruthy();
});
it('should set header as descending, if same header is selected again', () => {
const state = reducer(initState, {
type: ActionTypes.ACTIVE_TASKS_SORT_BY_COLUMN_HEADER,
options: 'sameHeader'
});
expect(state.headerIsAscending).toBeTruthy();
const state2 = reducer(state, {
type: ActionTypes.ACTIVE_TASKS_SORT_BY_COLUMN_HEADER,
options: 'sameHeader'
});
expect(state2.headerIsAscending).toBeFalsy();
const state3 = reducer(state2, {
type: ActionTypes.ACTIVE_TASKS_SORT_BY_COLUMN_HEADER,
options: 'sameHeader'
});
expect(state3.headerIsAscending).toBeTruthy();
const state4 = reducer(state3, {
type: ActionTypes.ACTIVE_TASKS_SORT_BY_COLUMN_HEADER,
options: 'differentHeader'
});
expect(state4.headerIsAscending).toBeTruthy();
});
});
});