Skip to content

Commit 8291e52

Browse files
Pass in successfulRepositoryCount
1 parent 612628f commit 8291e52

File tree

6 files changed

+34
-3
lines changed

6 files changed

+34
-3
lines changed

extensions/ql-vscode/src/stories/variant-analysis/VariantAnalysisStats.stories.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ Starting.args = {
3535
variantAnalysisStatus: VariantAnalysisStatus.InProgress,
3636
totalRepositoryCount: 10,
3737
completedRepositoryCount: 0,
38+
successfulRepositoryCount: 0,
3839
skippedRepositoryCount: 0,
3940
};
4041

@@ -43,6 +44,7 @@ Started.args = {
4344
...Starting.args,
4445
resultCount: 99_999,
4546
completedRepositoryCount: 2,
47+
successfulRepositoryCount: 2,
4648
};
4749

4850
export const StartedWithSkippedRepositories = Template.bind({});
@@ -56,6 +58,7 @@ Succeeded.args = {
5658
...Started.args,
5759
totalRepositoryCount: 1000,
5860
completedRepositoryCount: 1000,
61+
successfulRepositoryCount: 1000,
5962
variantAnalysisStatus: VariantAnalysisStatus.Succeeded,
6063
createdAt: new Date(1661262726000),
6164
completedAt: new Date(1661263446000),
@@ -66,6 +69,7 @@ SucceededWithSkippedRepositories.args = {
6669
...Succeeded.args,
6770
totalRepositoryCount: 10,
6871
completedRepositoryCount: 10,
72+
successfulRepositoryCount: 10,
6973
skippedRepositoryCount: 6,
7074
};
7175

extensions/ql-vscode/src/variant-analysis/shared/variant-analysis.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,16 @@ export function hasRepoScanCompleted(
214214
return isCompletedAnalysisRepoStatus(repo.analysisStatus);
215215
}
216216

217+
/**
218+
* @param repo
219+
* @returns whether the repo scan completed successfully
220+
*/
221+
export function isRepoScanSuccessful(
222+
repo: VariantAnalysisScannedRepository,
223+
): boolean {
224+
return repo.analysisStatus === VariantAnalysisRepoStatus.Succeeded;
225+
}
226+
217227
/**
218228
* @param repo
219229
* @returns whether the repo scan has an artifact that can be downloaded

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import {
55
getSkippedRepoCount,
66
getTotalResultCount,
77
hasRepoScanCompleted,
8+
isRepoScanSuccessful,
89
VariantAnalysis,
910
VariantAnalysisScannedRepositoryDownloadStatus,
1011
VariantAnalysisScannedRepositoryState,
@@ -69,6 +70,12 @@ export const VariantAnalysisHeader = ({
6970
?.length ?? 0
7071
);
7172
}, [variantAnalysis.scannedRepos]);
73+
const successfulRepositoryCount = useMemo(() => {
74+
return (
75+
variantAnalysis.scannedRepos?.filter((repo) => isRepoScanSuccessful(repo))
76+
?.length ?? 0
77+
);
78+
}, [variantAnalysis.scannedRepos]);
7279
const resultCount = useMemo(() => {
7380
return getTotalResultCount(variantAnalysis.scannedRepos);
7481
}, [variantAnalysis.scannedRepos]);
@@ -130,6 +137,7 @@ export const VariantAnalysisHeader = ({
130137
variantAnalysisStatus={variantAnalysis.status}
131138
totalRepositoryCount={totalScannedRepositoryCount}
132139
completedRepositoryCount={completedRepositoryCount}
140+
successfulRepositoryCount={successfulRepositoryCount}
133141
skippedRepositoryCount={skippedRepositoryCount}
134142
resultCount={resultCount}
135143
createdAt={parseDate(variantAnalysis.createdAt)}

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,15 @@ type Props = {
1313

1414
totalRepositoryCount: number;
1515
completedRepositoryCount: number;
16+
successfulRepositoryCount: number;
1617
skippedRepositoryCount: number;
1718
};
1819

1920
export const VariantAnalysisRepositoriesStats = ({
2021
variantAnalysisStatus,
2122
totalRepositoryCount,
2223
completedRepositoryCount,
24+
successfulRepositoryCount,
2325
skippedRepositoryCount,
2426
}: Props) => {
2527
if (variantAnalysisStatus === VariantAnalysisStatus.Failed) {
@@ -35,7 +37,7 @@ export const VariantAnalysisRepositoriesStats = ({
3537

3638
return (
3739
<>
38-
{formatDecimal(completedRepositoryCount)}/
40+
{formatDecimal(successfulRepositoryCount)}/
3941
{formatDecimal(totalRepositoryCount)}
4042
{showWarning && (
4143
<>

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ export type VariantAnalysisStatsProps = {
1313

1414
totalRepositoryCount: number;
1515
completedRepositoryCount: number;
16+
successfulRepositoryCount: number;
1617
skippedRepositoryCount: number;
1718

1819
resultCount?: number | undefined;
@@ -32,6 +33,7 @@ export const VariantAnalysisStats = ({
3233
variantAnalysisStatus,
3334
totalRepositoryCount,
3435
completedRepositoryCount,
36+
successfulRepositoryCount,
3537
skippedRepositoryCount,
3638
resultCount,
3739
createdAt,
@@ -79,6 +81,7 @@ export const VariantAnalysisStats = ({
7981
variantAnalysisStatus={variantAnalysisStatus}
8082
totalRepositoryCount={totalRepositoryCount}
8183
completedRepositoryCount={completedRepositoryCount}
84+
successfulRepositoryCount={successfulRepositoryCount}
8285
skippedRepositoryCount={skippedRepositoryCount}
8386
/>
8487
</StatItem>

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

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ describe(VariantAnalysisStats.name, () => {
2020
variantAnalysisStatus={VariantAnalysisStatus.InProgress}
2121
totalRepositoryCount={10}
2222
completedRepositoryCount={0}
23+
successfulRepositoryCount={0}
2324
skippedRepositoryCount={0}
2425
onViewLogsClick={onViewLogsClick}
2526
createdAt={new Date()}
@@ -40,8 +41,11 @@ describe(VariantAnalysisStats.name, () => {
4041
expect(screen.queryAllByText("-").length).toBe(1);
4142
});
4243

43-
it("renders the number of repositories as a formatted number", () => {
44-
render({ totalRepositoryCount: 123456, completedRepositoryCount: 654321 });
44+
it("renders the number of successful repositories as a formatted number", () => {
45+
render({
46+
totalRepositoryCount: 123456,
47+
successfulRepositoryCount: 654321,
48+
});
4549

4650
expect(screen.getByText("654,321/123,456")).toBeInTheDocument();
4751
});

0 commit comments

Comments
 (0)