Skip to content

Commit 27bce4a

Browse files
committed
Add tests
1 parent 56ecd1a commit 27bce4a

2 files changed

Lines changed: 20 additions & 2 deletions

File tree

extensions/ql-vscode/src/data-extensions-editor/model-details/model-details-data-provider.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,11 +58,15 @@ export class ModelDetailsDataProvider
5858
this.databaseItem = databaseItem;
5959
this.sourceLocationPrefix =
6060
await this.databaseItem.getSourceLocationPrefix(this.cliServer);
61+
this.onDidChangeTreeDataEmitter.fire();
6162
}
62-
if (hideModeledApis !== undefined) {
63+
if (
64+
hideModeledApis !== undefined &&
65+
hideModeledApis !== this.hideModeledApis
66+
) {
6367
this.hideModeledApis = hideModeledApis;
68+
this.onDidChangeTreeDataEmitter.fire();
6469
}
65-
this.onDidChangeTreeDataEmitter.fire();
6670
}
6771

6872
getTreeItem(item: ModelDetailsTreeViewItem): TreeItem {

extensions/ql-vscode/test/vscode-tests/no-workspace/data-extensions-editor/model-details/model-details-data-provider.test.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,5 +62,19 @@ describe("ModelDetailsDataProvider", () => {
6262

6363
expect(onDidChangeTreeDataListener).toHaveBeenCalledTimes(1);
6464
});
65+
66+
it("should emit onDidChangeTreeData event when hideModeledApis has changed", async () => {
67+
const hideModeledApis = false;
68+
69+
const dataProvider = new ModelDetailsDataProvider(mockCliServer);
70+
await dataProvider.setState(undefined, undefined, hideModeledApis);
71+
72+
const onDidChangeTreeDataListener = jest.fn();
73+
dataProvider.onDidChangeTreeData(onDidChangeTreeDataListener);
74+
75+
await dataProvider.setState(undefined, undefined, !hideModeledApis);
76+
77+
expect(onDidChangeTreeDataListener).toHaveBeenCalledTimes(1);
78+
});
6579
});
6680
});

0 commit comments

Comments
 (0)