Skip to content

Commit b3fcd47

Browse files
authored
Add integration test for database selection command (#1937)
1 parent 8c558f0 commit b3fcd47

1 file changed

Lines changed: 29 additions & 1 deletion

File tree

  • extensions/ql-vscode/test/vscode-tests/cli-integration/databases

extensions/ql-vscode/test/vscode-tests/cli-integration/databases/db-panel.test.ts

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,17 @@ import { commands, extensions, window } from "vscode";
33
import { CodeQLExtensionInterface } from "../../../../src/extension";
44
import { readJson } from "fs-extra";
55
import * as path from "path";
6-
import { DbConfig } from "../../../../src/databases/config/db-config";
6+
import {
7+
DbConfig,
8+
SelectedDbItemKind,
9+
} from "../../../../src/databases/config/db-config";
710
import {
811
AddListQuickPickItem,
912
RemoteDatabaseQuickPickItem,
1013
} from "../../../../src/databases/ui/db-panel";
1114
import { DbListKind } from "../../../../src/databases/db-item";
15+
import { createDbTreeViewItemSystemDefinedList } from "../../../../src/databases/ui/db-tree-view-item";
16+
import { createRemoteSystemDefinedListDbItem } from "../../../factories/db-item-factories";
1217

1318
jest.setTimeout(60_000);
1419

@@ -88,4 +93,27 @@ describe("Db panel UI commands", () => {
8893
expect(dbConfig.databases.remote.owners).toHaveLength(1);
8994
expect(dbConfig.databases.remote.owners[0]).toBe("owner1");
9095
});
96+
97+
it("should select db item", async () => {
98+
const listName = "top n repos";
99+
const treeViewItem = createDbTreeViewItemSystemDefinedList(
100+
createRemoteSystemDefinedListDbItem({ listName }),
101+
"label",
102+
"tooltip",
103+
);
104+
105+
await commands.executeCommand(
106+
"codeQLDatabasesExperimental.setSelectedItemContextMenu",
107+
treeViewItem,
108+
);
109+
110+
// Check db config
111+
const dbConfigFilePath = path.join(storagePath, "workspace-databases.json");
112+
const dbConfig: DbConfig = await readJson(dbConfigFilePath);
113+
expect(dbConfig.selected).toBeDefined();
114+
expect(dbConfig.selected).toEqual({
115+
kind: SelectedDbItemKind.RemoteSystemDefinedList,
116+
listName,
117+
});
118+
});
91119
});

0 commit comments

Comments
 (0)