Skip to content

Commit c914312

Browse files
committed
Move variant analysis header tests to individual components
1 parent 3079d7f commit c914312

File tree

3 files changed

+53
-85
lines changed

3 files changed

+53
-85
lines changed

extensions/ql-vscode/src/view/variant-analysis/QueryDetails.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import styled from 'styled-components';
33
import ViewTitle from '../remote-queries/ViewTitle';
44
import { LinkIconButton } from './LinkIconButton';
55

6-
type Props = {
6+
export type QueryDetailsProps = {
77
queryName: string;
88
queryFileName: string;
99

@@ -25,7 +25,7 @@ export const QueryDetails = ({
2525
queryFileName,
2626
onOpenQueryFileClick,
2727
onViewQueryTextClick,
28-
}: Props) => {
28+
}: QueryDetailsProps) => {
2929
return (
3030
<Container>
3131
<ViewTitle>{queryName}</ViewTitle>
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
import * as React from 'react';
2+
import { render as reactRender, screen } from '@testing-library/react';
3+
import userEvent from '@testing-library/user-event';
4+
import { QueryDetails, QueryDetailsProps } from '../QueryDetails';
5+
6+
describe(QueryDetails.name, () => {
7+
const onOpenQueryFileClick = jest.fn();
8+
const onViewQueryTextClick = jest.fn();
9+
const onStopQueryClick = jest.fn();
10+
const onCopyRepositoryListClick = jest.fn();
11+
const onExportResultsClick = jest.fn();
12+
13+
afterEach(() => {
14+
onOpenQueryFileClick.mockReset();
15+
onViewQueryTextClick.mockReset();
16+
onStopQueryClick.mockReset();
17+
onCopyRepositoryListClick.mockReset();
18+
onExportResultsClick.mockReset();
19+
});
20+
21+
const render = (props: Partial<QueryDetailsProps> = {}) =>
22+
reactRender(
23+
<QueryDetails
24+
queryName="Query name"
25+
queryFileName="example.ql"
26+
onOpenQueryFileClick={onOpenQueryFileClick}
27+
onViewQueryTextClick={onViewQueryTextClick}
28+
{...props}
29+
/>
30+
);
31+
32+
it('renders correctly', () => {
33+
render();
34+
35+
expect(screen.getByText('Query name')).toBeInTheDocument();
36+
});
37+
38+
it('renders the query file name as a button', async () => {
39+
render();
40+
41+
await userEvent.click(screen.getByText('example.ql'));
42+
expect(onOpenQueryFileClick).toHaveBeenCalledTimes(1);
43+
});
44+
45+
it('renders a view query button', async () => {
46+
render();
47+
48+
await userEvent.click(screen.getByText('View query'));
49+
expect(onViewQueryTextClick).toHaveBeenCalledTimes(1);
50+
});
51+
});

extensions/ql-vscode/src/view/variant-analysis/__tests__/VariantAnalysisHeader.spec.tsx

Lines changed: 0 additions & 83 deletions
This file was deleted.

0 commit comments

Comments
 (0)