Parcourir la source

Added tests for TestRuleButton

Hugo Häggmark il y a 7 ans
Parent
commit
9b8a5333cb

+ 44 - 0
public/app/features/alerting/TestRuleButton.test.tsx

@@ -0,0 +1,44 @@
+import React from 'react';
+import { shallow } from 'enzyme';
+import { DashboardModel } from '../dashboard/dashboard_model';
+import { Props, TestRuleButton } from './TestRuleButton';
+
+jest.mock('app/core/services/backend_srv', () => ({
+  getBackendSrv: () => ({
+    post: jest.fn(),
+  }),
+}));
+
+const setup = (propOverrides?: object) => {
+  const props: Props = {
+    panelId: 1,
+    dashboard: new DashboardModel({ panels: [{ id: 1 }] }),
+    LoadingPlaceholder: {},
+  };
+
+  Object.assign(props, propOverrides);
+
+  const wrapper = shallow(<TestRuleButton {...props} />);
+
+  return { wrapper, instance: wrapper.instance() as TestRuleButton };
+};
+
+describe('Render', () => {
+  it('should render component', () => {
+    const { wrapper } = setup();
+
+    expect(wrapper).toMatchSnapshot();
+  });
+});
+
+describe('Life cycle', () => {
+  describe('component did mount', () => {
+    it('should call testRule', () => {
+      const { instance } = setup();
+      instance.testRule = jest.fn();
+      instance.componentDidMount();
+
+      expect(instance.testRule).toHaveBeenCalled();
+    });
+  });
+});

+ 15 - 0
public/app/features/alerting/__snapshots__/TestRuleButton.test.tsx.snap

@@ -0,0 +1,15 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`Render should render component 1`] = `
+<Fragment>
+  <JSONFormatter
+    config={
+      Object {
+        "animateOpen": true,
+      }
+    }
+    json={Object {}}
+    open={3}
+  />
+</Fragment>
+`;