AddPanelPanel.jest.tsx 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  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. info: {
  24. logos: {
  25. small: '',
  26. },
  27. },
  28. },
  29. {
  30. id: 'hidden',
  31. hideFromList: true,
  32. name: 'Hidden',
  33. sort: 100,
  34. info: {
  35. logos: {
  36. small: '',
  37. },
  38. },
  39. },
  40. {
  41. id: 'graph',
  42. hideFromList: false,
  43. name: 'Graph',
  44. sort: 1,
  45. info: {
  46. logos: {
  47. small: '',
  48. },
  49. },
  50. },
  51. {
  52. id: 'alexander_zabbix',
  53. hideFromList: false,
  54. name: 'Zabbix',
  55. sort: 100,
  56. info: {
  57. logos: {
  58. small: '',
  59. },
  60. },
  61. },
  62. {
  63. id: 'piechart',
  64. hideFromList: false,
  65. name: 'Piechart',
  66. sort: 100,
  67. info: {
  68. logos: {
  69. small: '',
  70. },
  71. },
  72. },
  73. ];
  74. dashboardMock = { toggleRow: jest.fn() };
  75. panel = new PanelModel({ collapsed: false });
  76. wrapper = shallow(<AddPanelPanel panel={panel} dashboard={dashboardMock} />);
  77. });
  78. it('should fetch all panels sorted with core plugins first', () => {
  79. //console.log(wrapper.debug());
  80. //console.log(wrapper.find('.add-panel__item').get(0).props.title);
  81. expect(wrapper.find('.add-panel__item').get(1).props.title).toBe('Singlestat');
  82. expect(wrapper.find('.add-panel__item').get(4).props.title).toBe('Piechart');
  83. });
  84. it('should filter', () => {
  85. wrapper.find('input').simulate('change', { target: { value: 'p' } });
  86. expect(wrapper.find('.add-panel__item').get(1).props.title).toBe('Piechart');
  87. expect(wrapper.find('.add-panel__item').get(0).props.title).toBe('Graph');
  88. });
  89. });