Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -385,3 +385,19 @@ Failed.args = {
repoStates,
repoResults,
};

export const FailedInternal = Template.bind({});
FailedInternal.args = {
variantAnalysis: {
...variantAnalysis,
status: VariantAnalysisStatus.Failed,
failureReason: VariantAnalysisFailureReason.InternalError,
completedAt: new Date(
new Date(variantAnalysis.createdAt).getTime() + 100_000,
).toISOString(),
scannedRepos: [],
skippedRepos: {},
},
repoStates,
repoResults,
};
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,14 @@ export const VariantAnalysisOutcomePanels = ({
</WarningsContainer>
);

const noPanels =
scannedReposCount === 0 &&
!noCodeqlDbRepos?.repositoryCount &&
!notFoundRepos?.repositoryCount;
if (noPanels) {
return warnings;
}

if (!noCodeqlDbRepos?.repositoryCount && !notFoundRepos?.repositoryCount) {
return (
<>
Expand Down Expand Up @@ -138,12 +146,14 @@ export const VariantAnalysisOutcomePanels = ({
onChange={setFilterSortState}
/>
<VSCodePanels>
<Tab>
Analyzed
<VSCodeBadge appearance="secondary">
{formatDecimal(variantAnalysis.scannedRepos?.length ?? 0)}
</VSCodeBadge>
</Tab>
{scannedReposCount > 0 && (
<Tab>
Analyzed
<VSCodeBadge appearance="secondary">
{formatDecimal(variantAnalysis.scannedRepos?.length ?? 0)}
</VSCodeBadge>
</Tab>
)}
{notFoundRepos?.repositoryCount && (
<Tab>
No access
Expand All @@ -160,16 +170,18 @@ export const VariantAnalysisOutcomePanels = ({
</VSCodeBadge>
</Tab>
)}
<VSCodePanelView>
<VariantAnalysisAnalyzedRepos
variantAnalysis={variantAnalysis}
repositoryStates={repositoryStates}
repositoryResults={repositoryResults}
filterSortState={filterSortState}
selectedRepositoryIds={selectedRepositoryIds}
setSelectedRepositoryIds={setSelectedRepositoryIds}
/>
</VSCodePanelView>
{scannedReposCount > 0 && (
<VSCodePanelView>
<VariantAnalysisAnalyzedRepos
variantAnalysis={variantAnalysis}
repositoryStates={repositoryStates}
repositoryResults={repositoryResults}
filterSortState={filterSortState}
selectedRepositoryIds={selectedRepositoryIds}
setSelectedRepositoryIds={setSelectedRepositoryIds}
/>
</VSCodePanelView>
)}
{notFoundRepos?.repositoryCount && (
<VSCodePanelView>
<VariantAnalysisSkippedRepositoriesTab
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import * as React from "react";
import { render as reactRender, screen } from "@testing-library/react";
import {
VariantAnalysis,
VariantAnalysisFailureReason,
VariantAnalysisRepoStatus,
VariantAnalysisStatus,
} from "../../../remote-queries/shared/variant-analysis";
Expand Down Expand Up @@ -144,6 +145,36 @@ describe(VariantAnalysisOutcomePanels.name, () => {
expect(screen.getByText("No database")).toBeInTheDocument();
});

it("does not render analyzed panel when there are no scanned repos", () => {
render({
scannedRepos: [],
skippedRepos: {
notFoundRepos: defaultVariantAnalysis.skippedRepos.notFoundRepos,
noCodeqlDbRepos: defaultVariantAnalysis.skippedRepos.noCodeqlDbRepos,
},
});

expect(screen.queryByRole("Analyzed")).not.toBeInTheDocument();
expect(screen.getByText("No access")).toBeInTheDocument();
expect(screen.getByText("No database")).toBeInTheDocument();
});

it("does not render any tabs when there are no repos", () => {
render({
status: VariantAnalysisStatus.Failed,
failureReason: VariantAnalysisFailureReason.InternalError,
scannedRepos: [],
skippedRepos: {},
});

expect(screen.queryByRole("Analyzed")).not.toBeInTheDocument();
expect(screen.queryByRole("No access")).not.toBeInTheDocument();
expect(screen.queryByRole("No database")).not.toBeInTheDocument();
expect(
screen.getByText("Error: Something unexpected happened"),
).toBeInTheDocument();
});

it("renders warning with canceled variant analysis", () => {
render({
status: VariantAnalysisStatus.Canceled,
Expand Down