2023-06-16 13:14:00 -05:00
|
|
|
import { render, screen } from '@testing-library/react';
|
|
|
|
import React from '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();
|
2023-06-23 10:10:37 -05:00
|
|
|
expect(screen.getByLabelText('Collapse query row')).toBeInTheDocument();
|
2023-06-16 13:14:00 -05:00
|
|
|
});
|
|
|
|
test('should hide the button to collapse the query row when collapsable is set as false', () => {
|
|
|
|
setup({ collapsable: false });
|
2023-06-23 10:10:37 -05:00
|
|
|
expect(screen.queryByLabelText('Collapse query row')).not.toBeInTheDocument();
|
2023-06-16 13:14:00 -05:00
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|