Skip to content

Commit a24e7c6

Browse files
authored
Merge pull request #1727 from github/koesie10/canceled-view
Handle canceled status in variant analysis view
2 parents bbdad0a + e164bbb commit a24e7c6

File tree

3 files changed

+123
-1
lines changed

3 files changed

+123
-1
lines changed

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

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -256,3 +256,109 @@ FullExampleWithoutSkipped.args = {
256256
repoStates,
257257
repoResults,
258258
};
259+
260+
export const Canceled = Template.bind({});
261+
Canceled.args = {
262+
variantAnalysis: {
263+
...variantAnalysis,
264+
status: VariantAnalysisStatus.Canceled,
265+
completedAt: new Date(new Date(variantAnalysis.createdAt).getTime() + 100_000).toISOString(),
266+
scannedRepos: [
267+
{
268+
repository: {
269+
...createMockRepositoryWithMetadata(),
270+
id: 1,
271+
fullName: 'octodemo/hello-world-1',
272+
private: false,
273+
},
274+
analysisStatus: VariantAnalysisRepoStatus.Succeeded,
275+
resultCount: 200,
276+
},
277+
{
278+
repository: {
279+
...createMockRepositoryWithMetadata(),
280+
id: 2,
281+
fullName: 'octodemo/hello-world-2',
282+
private: false,
283+
},
284+
analysisStatus: VariantAnalysisRepoStatus.Succeeded,
285+
resultCount: 10_000,
286+
},
287+
{
288+
repository: {
289+
...createMockRepositoryWithMetadata(),
290+
id: 3,
291+
fullName: 'octodemo/hello-world-3',
292+
private: false,
293+
},
294+
analysisStatus: VariantAnalysisRepoStatus.Succeeded,
295+
resultCount: 500,
296+
},
297+
{
298+
repository: {
299+
...createMockRepositoryWithMetadata(),
300+
id: 4,
301+
fullName: 'octodemo/hello-world-4',
302+
private: false,
303+
},
304+
analysisStatus: VariantAnalysisRepoStatus.Canceled,
305+
},
306+
{
307+
repository: {
308+
...createMockRepositoryWithMetadata(),
309+
id: 5,
310+
fullName: 'octodemo/hello-world-5',
311+
private: false,
312+
},
313+
analysisStatus: VariantAnalysisRepoStatus.Failed,
314+
},
315+
{
316+
repository: {
317+
...createMockRepositoryWithMetadata(),
318+
id: 6,
319+
fullName: 'octodemo/hello-world-6',
320+
private: false,
321+
},
322+
analysisStatus: VariantAnalysisRepoStatus.Canceled,
323+
},
324+
{
325+
repository: {
326+
...createMockRepositoryWithMetadata(),
327+
id: 7,
328+
fullName: 'octodemo/hello-world-7',
329+
private: false,
330+
},
331+
analysisStatus: VariantAnalysisRepoStatus.Canceled,
332+
},
333+
{
334+
repository: {
335+
...createMockRepositoryWithMetadata(),
336+
id: 8,
337+
fullName: 'octodemo/hello-world-8',
338+
private: false,
339+
},
340+
analysisStatus: VariantAnalysisRepoStatus.Canceled,
341+
},
342+
{
343+
repository: {
344+
...createMockRepositoryWithMetadata(),
345+
id: 9,
346+
fullName: 'octodemo/hello-world-9',
347+
private: false,
348+
},
349+
analysisStatus: VariantAnalysisRepoStatus.Canceled,
350+
},
351+
{
352+
repository: {
353+
...createMockRepositoryWithMetadata(),
354+
id: 10,
355+
fullName: 'octodemo/hello-world-10',
356+
private: false,
357+
},
358+
analysisStatus: VariantAnalysisRepoStatus.Canceled,
359+
},
360+
],
361+
},
362+
repoStates,
363+
repoResults,
364+
};

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

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ import { formatDecimal } from '../../pure/number';
66
import {
77
VariantAnalysis,
88
VariantAnalysisScannedRepositoryResult,
9-
VariantAnalysisScannedRepositoryState
9+
VariantAnalysisScannedRepositoryState,
10+
VariantAnalysisStatus,
1011
} from '../../remote-queries/shared/variant-analysis';
1112
import { VariantAnalysisAnalyzedRepos } from './VariantAnalysisAnalyzedRepos';
1213
import { Alert } from '../common';
@@ -54,6 +55,13 @@ export const VariantAnalysisOutcomePanels = ({
5455

5556
const warnings = (
5657
<WarningsContainer>
58+
{variantAnalysis.status === VariantAnalysisStatus.Canceled && (
59+
<Alert
60+
type="warning"
61+
title="Query manually stopped"
62+
message="This query was manually stopped before the analysis completed. Results may be partial."
63+
/>
64+
)}
5765
{overLimitRepositoryCount > 0 && (
5866
<Alert
5967
type="warning"

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,14 @@ describe(VariantAnalysisOutcomePanels.name, () => {
136136
expect(screen.getByText('No database')).toBeInTheDocument();
137137
});
138138

139+
it('renders warning with canceled variant analysis', () => {
140+
render({
141+
status: VariantAnalysisStatus.Canceled,
142+
});
143+
144+
expect(screen.getByText('Warning: Query manually stopped')).toBeInTheDocument();
145+
});
146+
139147
it('renders warning with access mismatch repos', () => {
140148
render({
141149
skippedRepos: {

0 commit comments

Comments
 (0)