AddPanelPanel.jest.tsx 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  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, getPanelContainer, 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. getPanelContainer = jest.fn().mockReturnValue({
  76. getDashboard: jest.fn().mockReturnValue(dashboardMock),
  77. getPanelLoader: jest.fn(),
  78. });
  79. panel = new PanelModel({ collapsed: false });
  80. wrapper = shallow(<AddPanelPanel panel={panel} getPanelContainer={getPanelContainer} />);
  81. });
  82. it('should fetch all panels sorted with core plugins first', () => {
  83. //console.log(wrapper.debug());
  84. //console.log(wrapper.find('.add-panel__item').get(0).props.title);
  85. expect(wrapper.find('.add-panel__item').get(1).props.title).toBe('Singlestat');
  86. expect(wrapper.find('.add-panel__item').get(4).props.title).toBe('Piechart');
  87. });
  88. it('should filter', () => {
  89. wrapper.find('input').simulate('change', { target: { value: 'p' } });
  90. expect(wrapper.find('.add-panel__item').get(1).props.title).toBe('Piechart');
  91. expect(wrapper.find('.add-panel__item').get(0).props.title).toBe('Graph');
  92. });
  93. });