Skip to content

Commit 35ce928

Browse files
committed
Show error message when running query on empty list
1 parent e521112 commit 35ce928

2 files changed

Lines changed: 24 additions & 3 deletions

File tree

extensions/ql-vscode/src/remote-queries/repository-selection.ts

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,17 @@ export async function getRepositorySelection(
4545
case DbItemKind.RemoteSystemDefinedList:
4646
return { repositoryLists: [selectedDbItem.listName] };
4747
case DbItemKind.RemoteUserDefinedList:
48-
return {
49-
repositories: selectedDbItem.repos.map((repo) => repo.repoFullName),
50-
};
48+
if (selectedDbItem.repos.length === 0) {
49+
throw new Error(
50+
"The selected repository list is empty. Please add repositories to it before running a query on it.",
51+
);
52+
} else {
53+
return {
54+
repositories: selectedDbItem.repos.map(
55+
(repo) => repo.repoFullName,
56+
),
57+
};
58+
}
5159
case DbItemKind.RemoteOwner:
5260
return { owners: [selectedDbItem.ownerName] };
5361
case DbItemKind.RemoteRepo:

extensions/ql-vscode/src/vscode-tests/no-workspace/remote-queries/repository-selection.test.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,19 @@ describe("repository selection", () => {
3333
);
3434
});
3535

36+
it("should return throw error when empt remote user defined list is selected", async () => {
37+
const dbManager = setUpDbManager({
38+
kind: DbItemKind.RemoteUserDefinedList,
39+
repos: [],
40+
} as any as DbItem);
41+
42+
await expect(getRepositorySelection(dbManager)).rejects.toThrow(
43+
Error(
44+
"The selected repository list is empty. Please add repositories to it before running a query on it.",
45+
),
46+
);
47+
});
48+
3649
it("should return correct selection when remote system defined list is selected", async () => {
3750
const dbManager = setUpDbManager({
3851
kind: DbItemKind.RemoteSystemDefinedList,

0 commit comments

Comments
 (0)