Skip to content

Commit cb2802e

Browse files
committed
Add mode details panel test
1 parent 13ce5f7 commit cb2802e

1 file changed

Lines changed: 42 additions & 0 deletions

File tree

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
import { window, TreeView } from "vscode";
2+
import { CodeQLCliServer } from "../../../../../src/codeql-cli/cli";
3+
import { ExternalApiUsage } from "../../../../../src/data-extensions-editor/external-api-usage";
4+
import { ModelDetailsPanel } from "../../../../../src/data-extensions-editor/model-details/model-details-panel";
5+
import { DatabaseItem } from "../../../../../src/databases/local-databases";
6+
import { mockedObject } from "../../../utils/mocking.helpers";
7+
8+
describe("ModelDetailsPanel", () => {
9+
const mockCliServer = mockedObject<CodeQLCliServer>({});
10+
11+
describe("setState", () => {
12+
const hideModeledApis: boolean = false;
13+
const externalApiUsages: ExternalApiUsage[] = [
14+
{
15+
library: "test",
16+
supported: false,
17+
supportedType: "none",
18+
usages: [],
19+
signature: "test",
20+
packageName: "test",
21+
typeName: "test",
22+
methodName: "test",
23+
methodParameters: "test",
24+
},
25+
];
26+
const dbItem = mockedObject<DatabaseItem>({
27+
getSourceLocationPrefix: () => "test",
28+
});
29+
30+
it("should update the tree view with the correct batch number", async () => {
31+
const mockTreeView = {
32+
badge: undefined,
33+
} as TreeView<unknown>;
34+
jest.spyOn(window, "createTreeView").mockReturnValue(mockTreeView);
35+
36+
const panel = new ModelDetailsPanel(mockCliServer);
37+
await panel.setState(externalApiUsages, dbItem, hideModeledApis);
38+
39+
expect(mockTreeView.badge?.value).toBe(1);
40+
});
41+
});
42+
});

0 commit comments

Comments
 (0)