fleet/frontend/redux/nodes/components/QueryPages/reducer.tests.js
Mike Stone 995d86e902 Get targets from API (#459)
* API client getTargets

* change label to display_text

* filters options

* send selected targets to server

* get targets when selected targets are added or removed

* show 0 unique hosts when no targets have been selected
2016-11-09 13:08:00 -05:00

62 lines
1.9 KiB
JavaScript

import expect from 'expect';
import reducer, { initialState } from './reducer';
import {
selectOsqueryTable,
setQueryText,
setSelectedTargets,
setSelectedTargetsQuery,
} from './actions';
describe('QueryPages - reducer', () => {
it('sets the initial state', () => {
expect(reducer(undefined, { type: 'SOME_ACTION' })).toEqual(initialState);
});
context('selectOsqueryTable action', () => {
it('sets the selectedOsqueryTable attribute', () => {
const selectOsqueryTableAction = selectOsqueryTable('groups');
expect(reducer(initialState, selectOsqueryTableAction)).toEqual({
queryText: initialState.queryText,
selectedOsqueryTable: selectOsqueryTableAction.payload.selectedOsqueryTable,
selectedTargets: [],
selectedTargetsQuery: '',
});
});
});
context('setQueryText action', () => {
it('sets the queryText attribute', () => {
const queryText = 'SELECT * FROM users';
const setQueryTextAction = setQueryText(queryText);
expect(reducer(initialState, setQueryTextAction)).toEqual({
queryText,
selectedOsqueryTable: initialState.selectedOsqueryTable,
selectedTargets: [],
selectedTargetsQuery: '',
});
});
});
context('setSelectedTargets action', () => {
it('sets the selectedTarges attribute', () => {
const selectedTargets = [{ label: 'MacOs' }];
const setSelectedTargetsAction = setSelectedTargets(selectedTargets);
expect(reducer(initialState, setSelectedTargetsAction)).toEqual({
...initialState,
selectedTargets,
});
});
});
context('setSelectedTargetsQuery action', () => {
it('sets the selectedTarges attribute', () => {
const setSelectedTargetsQueryAction = setSelectedTargetsQuery('192');
expect(reducer(initialState, setSelectedTargetsQueryAction)).toEqual({
...initialState,
selectedTargetsQuery: '192',
});
});
});
});