Files
grafana/public/app/features/transformers/fieldToConfigMapping/FieldConfigMappingHandlerArgumentsEditor.test.tsx
Ashley Harrison 47f8717149 React: Use new JSX transform (#88802)
* 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
2024-06-25 12:43:47 +01:00

37 lines
1.2 KiB
TypeScript

import { render, screen } from '@testing-library/react';
import { FieldConfigMappingHandlerArgumentsEditor, Props } from './FieldConfigMappingHandlerArgumentsEditor';
beforeEach(() => {
jest.clearAllMocks();
});
const mockOnChange = jest.fn();
const props: Props = {
handlerKey: null,
handlerArguments: {},
onChange: mockOnChange,
};
const setup = (testProps?: Partial<Props>) => {
const editorProps = { ...props, ...testProps };
return render(<FieldConfigMappingHandlerArgumentsEditor {...editorProps} />);
};
describe('FieldConfigMappingHandlerArgumentsEditor', () => {
it('Should show a color picker when thresholds are selected', async () => {
setup({ handlerKey: 'threshold1' });
expect(await screen.findByDisplayValue('Threshold color')).toBeInTheDocument();
expect(await screen.findByLabelText('red color')).toBeInTheDocument();
});
it('Should show the correct selected color', async () => {
setup({ handlerKey: 'threshold1', handlerArguments: { threshold: { color: 'orange' } } });
expect(await screen.findByDisplayValue('Threshold color')).toBeInTheDocument();
expect(await screen.findByLabelText('orange color')).toBeInTheDocument();
});
});