Add tests of a pending and failed variant analysis

This commit is contained in:
Robert
2022-11-29 16:33:03 +00:00
parent 339819c82b
commit 4771d9b834
2 changed files with 51 additions and 2 deletions

View File

@@ -17,7 +17,7 @@ import {
RepositoriesFilterSortState,
} from "../../pure/variant-analysis-filter-sort";
type Props = {
export type VariantAnalysisProps = {
variantAnalysis?: VariantAnalysisDomainModel;
repoStates?: VariantAnalysisScannedRepositoryState[];
repoResults?: VariantAnalysisScannedRepositoryResult[];
@@ -51,7 +51,7 @@ export function VariantAnalysis({
variantAnalysis: initialVariantAnalysis,
repoStates: initialRepoStates = [],
repoResults: initialRepoResults = [],
}: Props): JSX.Element {
}: VariantAnalysisProps): JSX.Element {
const [variantAnalysis, setVariantAnalysis] = useState<
VariantAnalysisDomainModel | undefined
>(initialVariantAnalysis);

View File

@@ -0,0 +1,49 @@
import * as React from "react";
import { render as reactRender, screen } from "@testing-library/react";
import {
VariantAnalysisFailureReason,
VariantAnalysisStatus,
} from "../../../remote-queries/shared/variant-analysis";
import { VariantAnalysis, VariantAnalysisProps } from "../VariantAnalysis";
import { createMockVariantAnalysis } from "../../../vscode-tests/factories/remote-queries/shared/variant-analysis";
describe(VariantAnalysis.name, () => {
const render = (props: Partial<VariantAnalysisProps> = {}) =>
reactRender(
<VariantAnalysis
variantAnalysis={createMockVariantAnalysis({})}
{...props}
/>,
);
it("renders a pending analysis", () => {
const variantAnalysis = createMockVariantAnalysis({
status: VariantAnalysisStatus.InProgress,
});
variantAnalysis.actionsWorkflowRunId = undefined;
render({ variantAnalysis });
expect(
screen.getByText("We are getting everything ready"),
).toBeInTheDocument();
});
it("renders an analysis where there were no repos to analyse", () => {
const variantAnalysis = createMockVariantAnalysis({
status: VariantAnalysisStatus.Failed,
});
variantAnalysis.failureReason = VariantAnalysisFailureReason.NoReposQueried;
variantAnalysis.actionsWorkflowRunId = undefined;
render({ variantAnalysis });
expect(
screen.queryByText("We are getting everything ready"),
).not.toBeInTheDocument();
expect(
screen.getByText(
"No repositories available after processing. No repositories were analyzed.",
),
).toBeInTheDocument();
});
});