Browse Source

Fixed a bug in the test and added test for filter alert rules

Peter Holmberg 7 years ago
parent
commit
5ac5a08e9e
1 changed files with 63 additions and 12 deletions
  1. 63 12
      public/app/features/alerting/state/selectors.test.ts

+ 63 - 12
public/app/features/alerting/state/selectors.test.ts

@@ -1,16 +1,8 @@
 import { getSearchQuery, getAlertRuleItems } from './selectors';
 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', () => {
 describe('Get search query', () => {
   it('should get search query', () => {
   it('should get search query', () => {
-    const state = getState({ searchQuery: 'dashboard' });
+    const state = { searchQuery: 'dashboard' };
     const result = getSearchQuery(state);
     const result = getSearchQuery(state);
 
 
     expect(result).toEqual(state.searchQuery);
     expect(result).toEqual(state.searchQuery);
@@ -19,7 +11,7 @@ describe('Get search query', () => {
 
 
 describe('Get alert rule items', () => {
 describe('Get alert rule items', () => {
   it('should get alert rule items', () => {
   it('should get alert rule items', () => {
-    const state = getState({
+    const state = {
       items: [
       items: [
         {
         {
           id: 1,
           id: 1,
@@ -34,10 +26,69 @@ describe('Get alert rule items', () => {
           url: '',
           url: '',
         },
         },
       ],
       ],
-    });
+      searchQuery: '',
+    };
 
 
     const result = getAlertRuleItems(state);
     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);
   });
   });
 });
 });