mirror of
https://github.com/grafana/grafana.git
synced 2025-08-06 11:39:31 +08:00

* update eslint, tsconfig + esbuild to handle new jsx transform * remove thing that breaks the new jsx transform * remove react imports * adjust grafana-icons build * is this the correct syntax? * try this * well this was much easier than expected... * change grafana-plugin-configs webpack config * fixes * fix lockfile * fix 2 more violations * use path.resolve instead of require.resolve * remove react import * fix react imports * more fixes * remove React import * remove import React from docs * remove another react import
35 lines
849 B
TypeScript
35 lines
849 B
TypeScript
import { screen, render } from '@testing-library/react';
|
|
|
|
import { selectors } from '@grafana/e2e-selectors';
|
|
|
|
import { ButtonRow, Props } from './ButtonRow';
|
|
|
|
const setup = (propOverrides?: object) => {
|
|
const props: Props = {
|
|
canSave: false,
|
|
canDelete: true,
|
|
onDelete: jest.fn(),
|
|
onSubmit: jest.fn(),
|
|
onTest: jest.fn(),
|
|
};
|
|
|
|
Object.assign(props, propOverrides);
|
|
|
|
return render(<ButtonRow {...props} />);
|
|
};
|
|
|
|
describe('<ButtonRow>', () => {
|
|
it('should render component', () => {
|
|
setup();
|
|
|
|
expect(screen.getByTestId(selectors.pages.DataSource.delete)).toBeInTheDocument();
|
|
expect(screen.getByText('Test')).toBeInTheDocument();
|
|
});
|
|
|
|
it('should render save & test', () => {
|
|
setup({ canSave: true });
|
|
|
|
expect(screen.getByTestId(selectors.pages.DataSource.saveAndTest)).toBeInTheDocument();
|
|
});
|
|
});
|