Files
grafana/public/app/core/components/QueryOperationRow/QueryOperationRowHeader.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

34 lines
1.1 KiB
TypeScript

import { render, screen } from '@testing-library/react';
import { QueryOperationRowHeader, QueryOperationRowHeaderProps } from './QueryOperationRowHeader';
const setup = (propOverrides?: Partial<QueryOperationRowHeaderProps>) => {
const props: QueryOperationRowHeaderProps = {
title: 'test-title',
draggable: true,
isContentVisible: true,
id: 'test-id',
onRowToggle: jest.fn(),
reportDragMousePosition: jest.fn(),
...propOverrides,
};
return render(<QueryOperationRowHeader {...props}></QueryOperationRowHeader>);
};
describe('QueryOperationRowHeader', () => {
test('renders without exploding', () => {
expect(() => setup()).not.toThrow();
});
describe('collapsable property', () => {
test('should show the button to collapse the query row by default', () => {
setup();
expect(screen.getByLabelText('Collapse query row')).toBeInTheDocument();
});
test('should hide the button to collapse the query row when collapsable is set as false', () => {
setup({ collapsable: false });
expect(screen.queryByLabelText('Collapse query row')).not.toBeInTheDocument();
});
});
});