Graph.test.tsx 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import React from 'react';
  2. import { shallow } from 'enzyme';
  3. import { Graph } from './Graph';
  4. import { mockData } from './__mocks__/mockData';
  5. import { DefaultTimeZone } from '@grafana/ui';
  6. const setup = (propOverrides?: object) => {
  7. const props = {
  8. size: { width: 10, height: 20 },
  9. data: mockData().slice(0, 19),
  10. range: { from: 0, to: 1 },
  11. timeZone: DefaultTimeZone,
  12. ...propOverrides,
  13. };
  14. // Enzyme.shallow did not work well with jquery.flop. Mocking the draw function.
  15. Graph.prototype.draw = jest.fn();
  16. const wrapper = shallow(<Graph {...props} />);
  17. const instance = wrapper.instance() as Graph;
  18. return {
  19. wrapper,
  20. instance,
  21. };
  22. };
  23. describe('Render', () => {
  24. it('should render component', () => {
  25. const { wrapper } = setup();
  26. expect(wrapper).toMatchSnapshot();
  27. });
  28. it('should render component with disclaimer', () => {
  29. const { wrapper } = setup({
  30. data: mockData(),
  31. });
  32. expect(wrapper).toMatchSnapshot();
  33. });
  34. it('should show query return no time series', () => {
  35. const { wrapper } = setup({
  36. data: [],
  37. });
  38. expect(wrapper).toMatchSnapshot();
  39. });
  40. });