AddPanelPanel.jest.tsx 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. import React from 'react';
  2. import { AddPanelPanel } from './../dashgrid/AddPanelPanel';
  3. import { PanelModel } from '../panel_model';
  4. import { shallow } from 'enzyme';
  5. import config from '../../../core/config';
  6. jest.mock('app/core/store', () => ({
  7. get: key => {
  8. return null;
  9. },
  10. delete: key => {
  11. return null;
  12. },
  13. }));
  14. describe('AddPanelPanel', () => {
  15. let wrapper, dashboardMock, panel;
  16. beforeEach(() => {
  17. config.panels = [
  18. {
  19. id: 'singlestat',
  20. hideFromList: false,
  21. name: 'Singlestat',
  22. sort: 2,
  23. module: '',
  24. baseUrl: '',
  25. meta: {},
  26. info: {
  27. logos: {
  28. small: '',
  29. },
  30. },
  31. },
  32. {
  33. id: 'hidden',
  34. hideFromList: true,
  35. name: 'Hidden',
  36. sort: 100,
  37. meta: {},
  38. module: '',
  39. baseUrl: '',
  40. info: {
  41. logos: {
  42. small: '',
  43. },
  44. },
  45. },
  46. {
  47. id: 'graph',
  48. hideFromList: false,
  49. name: 'Graph',
  50. sort: 1,
  51. meta: {},
  52. module: '',
  53. baseUrl: '',
  54. info: {
  55. logos: {
  56. small: '',
  57. },
  58. },
  59. },
  60. {
  61. id: 'alexander_zabbix',
  62. hideFromList: false,
  63. name: 'Zabbix',
  64. sort: 100,
  65. meta: {},
  66. module: '',
  67. baseUrl: '',
  68. info: {
  69. logos: {
  70. small: '',
  71. },
  72. },
  73. },
  74. {
  75. id: 'piechart',
  76. hideFromList: false,
  77. name: 'Piechart',
  78. sort: 100,
  79. meta: {},
  80. module: '',
  81. baseUrl: '',
  82. info: {
  83. logos: {
  84. small: '',
  85. },
  86. },
  87. },
  88. ];
  89. dashboardMock = { toggleRow: jest.fn() };
  90. panel = new PanelModel({ collapsed: false });
  91. wrapper = shallow(<AddPanelPanel panel={panel} dashboard={dashboardMock} />);
  92. });
  93. it('should fetch all panels sorted with core plugins first', () => {
  94. //console.log(wrapper.debug());
  95. //console.log(wrapper.find('.add-panel__item').get(0).props.title);
  96. expect(wrapper.find('.add-panel__item').get(1).props.title).toBe('Singlestat');
  97. expect(wrapper.find('.add-panel__item').get(4).props.title).toBe('Piechart');
  98. });
  99. it('should filter', () => {
  100. wrapper.find('input').simulate('change', { target: { value: 'p' } });
  101. expect(wrapper.find('.add-panel__item').get(1).props.title).toBe('Piechart');
  102. expect(wrapper.find('.add-panel__item').get(0).props.title).toBe('Graph');
  103. });
  104. });