Show error message when running query on empty list

This commit is contained in:
Nora
2022-12-13 09:53:07 +00:00
parent e521112f3e
commit 35ce928068
2 changed files with 24 additions and 3 deletions

View File

@@ -45,9 +45,17 @@ export async function getRepositorySelection(
case DbItemKind.RemoteSystemDefinedList:
return { repositoryLists: [selectedDbItem.listName] };
case DbItemKind.RemoteUserDefinedList:
return {
repositories: selectedDbItem.repos.map((repo) => repo.repoFullName),
};
if (selectedDbItem.repos.length === 0) {
throw new Error(
"The selected repository list is empty. Please add repositories to it before running a query on it.",
);
} else {
return {
repositories: selectedDbItem.repos.map(
(repo) => repo.repoFullName,
),
};
}
case DbItemKind.RemoteOwner:
return { owners: [selectedDbItem.ownerName] };
case DbItemKind.RemoteRepo:

View File

@@ -33,6 +33,19 @@ describe("repository selection", () => {
);
});
it("should return throw error when empt remote user defined list is selected", async () => {
const dbManager = setUpDbManager({
kind: DbItemKind.RemoteUserDefinedList,
repos: [],
} as any as DbItem);
await expect(getRepositorySelection(dbManager)).rejects.toThrow(
Error(
"The selected repository list is empty. Please add repositories to it before running a query on it.",
),
);
});
it("should return correct selection when remote system defined list is selected", async () => {
const dbManager = setUpDbManager({
kind: DbItemKind.RemoteSystemDefinedList,