blob: c6f67d1ee151df8ab77caccda2b53ac3bb32142e [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 ActiveTasks from "../resources";
import Stores from "../stores";
import fakedResponse from "./fakeActiveTaskResponse";
import utils from "../../../../test/mocha/testUtils";
const assert = utils.assert;
var activeTasksStore = Stores.activeTasksStore;
var activeTasksCollection = new ActiveTasks.AllTasks();
activeTasksCollection.parse(fakedResponse);
describe('Active Tasks -- Stores', function () {
beforeEach(function () {
activeTasksStore.initAfterFetching(activeTasksCollection.table, activeTasksCollection);
});
describe('Active Task Stores - Filter Tab Tray', function () {
var fakeFilteredTable;
afterEach(function () {
fakeFilteredTable = [];
});
it('should filter the table correctly, by radio -- All Tasks', function () {
activeTasksStore.setSelectedRadio('all_tasks');
//parse table and check that it only contains objects any type
var table = activeTasksStore.getFilteredTable(activeTasksStore._collection);
assert.ok(activeTasksStore._collection.length, table.length);
});
it('should filter the table correctly, by radio', function () {
activeTasksStore.setSelectedRadio('replication');
var storeFilteredtable = activeTasksStore.getFilteredTable(activeTasksStore._collection);
//parse table and check that it only contains objects with type: Replication
_.each(storeFilteredtable, (activeTask) => {
assert.ok(activeTasksStore.passesRadioFilter(activeTask));
assert.deepEqual(activeTask.type, activeTasksStore.getSelectedRadio());
});
});
it('should search the table correctly', function () {
activeTasksStore.setSelectedRadio('all_tasks');
var searchTerm = 'base';
activeTasksStore.setSearchTerm(searchTerm);
var storeGeneratedTable = activeTasksStore.getFilteredTable(activeTasksStore._collection);
fakeFilteredTable = [
{ user: 'information'},
{ user: 'ooo'}
];
assert.equal(fakeFilteredTable[0].user, storeGeneratedTable[0].user);
assert.equal(fakeFilteredTable[1].user, storeGeneratedTable[1].user);
});
});
describe('Active Task Stores - Table Header Sort - Select Ascending/Descending', function () {
it('should set header as ascending, on default', function () {
activeTasksStore.setSelectedRadio('all-tasks');
activeTasksStore._headerIsAscending = true;
assert.ok(activeTasksStore.getHeaderIsAscending());
});
it('should set header as descending, if same header is selected again', function () {
activeTasksStore._prevSortbyHeader = 'sameHeader';
activeTasksStore._sortByHeader = 'sameHeader';
activeTasksStore.toggleHeaderIsAscending();
assert.notOk(activeTasksStore.getHeaderIsAscending());
});
it('should set header as ascending, if different header is selected', function () {
activeTasksStore._sortByHeader = 'differentHeader';
activeTasksStore._prevSortbyHeader = 'sameHeader';
activeTasksStore.toggleHeaderIsAscending();
assert.ok(activeTasksStore.getHeaderIsAscending());
});
});
});