Merge pull request #1835 from github/koesie10/hide-analyzed-when-failed
Hide analyzed panel when it's empty
This commit is contained in:
@@ -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,
|
||||
};
|
||||
|
||||
@@ -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 (
|
||||
<>
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -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";
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user