|
|
@@ -1,16 +1,8 @@
|
|
|
import { getSearchQuery, getAlertRuleItems } from './selectors';
|
|
|
-import { AlertRulesState } from '../../../types';
|
|
|
-
|
|
|
-const defaultState: AlertRulesState = {
|
|
|
- items: [],
|
|
|
- searchQuery: '',
|
|
|
-};
|
|
|
-
|
|
|
-const getState = (overrides?: object) => Object.assign(defaultState, overrides);
|
|
|
|
|
|
describe('Get search query', () => {
|
|
|
it('should get search query', () => {
|
|
|
- const state = getState({ searchQuery: 'dashboard' });
|
|
|
+ const state = { searchQuery: 'dashboard' };
|
|
|
const result = getSearchQuery(state);
|
|
|
|
|
|
expect(result).toEqual(state.searchQuery);
|
|
|
@@ -19,7 +11,7 @@ describe('Get search query', () => {
|
|
|
|
|
|
describe('Get alert rule items', () => {
|
|
|
it('should get alert rule items', () => {
|
|
|
- const state = getState({
|
|
|
+ const state = {
|
|
|
items: [
|
|
|
{
|
|
|
id: 1,
|
|
|
@@ -34,10 +26,69 @@ describe('Get alert rule items', () => {
|
|
|
url: '',
|
|
|
},
|
|
|
],
|
|
|
- });
|
|
|
+ searchQuery: '',
|
|
|
+ };
|
|
|
|
|
|
const result = getAlertRuleItems(state);
|
|
|
+ expect(result.length).toEqual(1);
|
|
|
+ });
|
|
|
+
|
|
|
+ it('should filter rule items based on search query', () => {
|
|
|
+ const state = {
|
|
|
+ items: [
|
|
|
+ {
|
|
|
+ id: 1,
|
|
|
+ dashboardId: 1,
|
|
|
+ panelId: 1,
|
|
|
+ name: 'dashboard',
|
|
|
+ state: '',
|
|
|
+ stateText: '',
|
|
|
+ stateIcon: '',
|
|
|
+ stateClass: '',
|
|
|
+ stateAge: '',
|
|
|
+ url: '',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ id: 2,
|
|
|
+ dashboardId: 3,
|
|
|
+ panelId: 1,
|
|
|
+ name: 'dashboard2',
|
|
|
+ state: '',
|
|
|
+ stateText: '',
|
|
|
+ stateIcon: '',
|
|
|
+ stateClass: '',
|
|
|
+ stateAge: '',
|
|
|
+ url: '',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ id: 3,
|
|
|
+ dashboardId: 5,
|
|
|
+ panelId: 1,
|
|
|
+ name: 'hello',
|
|
|
+ state: '',
|
|
|
+ stateText: '',
|
|
|
+ stateIcon: '',
|
|
|
+ stateClass: '',
|
|
|
+ stateAge: '',
|
|
|
+ url: '',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ id: 4,
|
|
|
+ dashboardId: 7,
|
|
|
+ panelId: 1,
|
|
|
+ name: 'test',
|
|
|
+ state: '',
|
|
|
+ stateText: 'dashboard',
|
|
|
+ stateIcon: '',
|
|
|
+ stateClass: '',
|
|
|
+ stateAge: '',
|
|
|
+ url: '',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ searchQuery: 'dashboard',
|
|
|
+ };
|
|
|
|
|
|
- expect(result.length).toEqual(0);
|
|
|
+ const result = getAlertRuleItems(state);
|
|
|
+ expect(result.length).toEqual(3);
|
|
|
});
|
|
|
});
|