selectors.test.ts 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. import { getSearchQuery, getAlertRuleItems } from './selectors';
  2. describe('Get search query', () => {
  3. it('should get search query', () => {
  4. const state = { searchQuery: 'dashboard' };
  5. const result = getSearchQuery(state);
  6. expect(result).toEqual(state.searchQuery);
  7. });
  8. });
  9. describe('Get alert rule items', () => {
  10. it('should get alert rule items', () => {
  11. const state = {
  12. items: [
  13. {
  14. id: 1,
  15. dashboardId: 1,
  16. panelId: 1,
  17. name: '',
  18. state: '',
  19. stateText: '',
  20. stateIcon: '',
  21. stateClass: '',
  22. stateAge: '',
  23. url: '',
  24. },
  25. ],
  26. searchQuery: '',
  27. };
  28. const result = getAlertRuleItems(state);
  29. expect(result.length).toEqual(1);
  30. });
  31. it('should filter rule items based on search query', () => {
  32. const state = {
  33. items: [
  34. {
  35. id: 1,
  36. dashboardId: 1,
  37. panelId: 1,
  38. name: 'dashboard',
  39. state: '',
  40. stateText: '',
  41. stateIcon: '',
  42. stateClass: '',
  43. stateAge: '',
  44. url: '',
  45. },
  46. {
  47. id: 2,
  48. dashboardId: 3,
  49. panelId: 1,
  50. name: 'dashboard2',
  51. state: '',
  52. stateText: '',
  53. stateIcon: '',
  54. stateClass: '',
  55. stateAge: '',
  56. url: '',
  57. },
  58. {
  59. id: 3,
  60. dashboardId: 5,
  61. panelId: 1,
  62. name: 'hello',
  63. state: '',
  64. stateText: '',
  65. stateIcon: '',
  66. stateClass: '',
  67. stateAge: '',
  68. url: '',
  69. },
  70. {
  71. id: 4,
  72. dashboardId: 7,
  73. panelId: 1,
  74. name: 'test',
  75. state: '',
  76. stateText: 'dashboard',
  77. stateIcon: '',
  78. stateClass: '',
  79. stateAge: '',
  80. url: '',
  81. },
  82. ],
  83. searchQuery: 'dashboard',
  84. };
  85. const result = getAlertRuleItems(state);
  86. expect(result.length).toEqual(3);
  87. });
  88. });