Fix unit tests

This commit is contained in:
Laurent Nguyen 2021-03-12 10:36:27 +01:00
parent e48a6a10cb
commit e5755dff39
3 changed files with 62 additions and 96 deletions

View File

@ -993,6 +993,7 @@ exports[`SettingsComponent renders 1`] = `
"onSwitchToConnectionString": [Function], "onSwitchToConnectionString": [Function],
"openDialog": undefined, "openDialog": undefined,
"openSidePanel": undefined, "openSidePanel": undefined,
"params": undefined,
"provideFeedbackEmail": [Function], "provideFeedbackEmail": [Function],
"queriesClient": QueriesClient { "queriesClient": QueriesClient {
"container": [Circular], "container": [Circular],
@ -1025,26 +1026,6 @@ exports[`SettingsComponent renders 1`] = `
"resourceTokenCollectionId": [Function], "resourceTokenCollectionId": [Function],
"resourceTokenDatabaseId": [Function], "resourceTokenDatabaseId": [Function],
"resourceTokenPartitionKey": [Function], "resourceTokenPartitionKey": [Function],
"resourceTree": ResourceTreeAdapter {
"container": [Circular],
"copyNotebook": [Function],
"databaseCollectionIdMap": ArrayHashMap {
"store": HashMap {
"container": Object {},
},
},
"koSubsCollectionIdMap": ArrayHashMap {
"store": HashMap {
"container": Object {},
},
},
"koSubsDatabaseIdMap": ArrayHashMap {
"store": HashMap {
"container": Object {},
},
},
"parameters": [Function],
},
"resourceTreeForResourceToken": ResourceTreeAdapterForResourceToken { "resourceTreeForResourceToken": ResourceTreeAdapterForResourceToken {
"container": [Circular], "container": [Circular],
"parameters": [Function], "parameters": [Function],
@ -2209,6 +2190,7 @@ exports[`SettingsComponent renders 1`] = `
"onSwitchToConnectionString": [Function], "onSwitchToConnectionString": [Function],
"openDialog": undefined, "openDialog": undefined,
"openSidePanel": undefined, "openSidePanel": undefined,
"params": undefined,
"provideFeedbackEmail": [Function], "provideFeedbackEmail": [Function],
"queriesClient": QueriesClient { "queriesClient": QueriesClient {
"container": [Circular], "container": [Circular],
@ -2241,26 +2223,6 @@ exports[`SettingsComponent renders 1`] = `
"resourceTokenCollectionId": [Function], "resourceTokenCollectionId": [Function],
"resourceTokenDatabaseId": [Function], "resourceTokenDatabaseId": [Function],
"resourceTokenPartitionKey": [Function], "resourceTokenPartitionKey": [Function],
"resourceTree": ResourceTreeAdapter {
"container": [Circular],
"copyNotebook": [Function],
"databaseCollectionIdMap": ArrayHashMap {
"store": HashMap {
"container": Object {},
},
},
"koSubsCollectionIdMap": ArrayHashMap {
"store": HashMap {
"container": Object {},
},
},
"koSubsDatabaseIdMap": ArrayHashMap {
"store": HashMap {
"container": Object {},
},
},
"parameters": [Function],
},
"resourceTreeForResourceToken": ResourceTreeAdapterForResourceToken { "resourceTreeForResourceToken": ResourceTreeAdapterForResourceToken {
"container": [Circular], "container": [Circular],
"parameters": [Function], "parameters": [Function],
@ -3438,6 +3400,7 @@ exports[`SettingsComponent renders 1`] = `
"onSwitchToConnectionString": [Function], "onSwitchToConnectionString": [Function],
"openDialog": undefined, "openDialog": undefined,
"openSidePanel": undefined, "openSidePanel": undefined,
"params": undefined,
"provideFeedbackEmail": [Function], "provideFeedbackEmail": [Function],
"queriesClient": QueriesClient { "queriesClient": QueriesClient {
"container": [Circular], "container": [Circular],
@ -3470,26 +3433,6 @@ exports[`SettingsComponent renders 1`] = `
"resourceTokenCollectionId": [Function], "resourceTokenCollectionId": [Function],
"resourceTokenDatabaseId": [Function], "resourceTokenDatabaseId": [Function],
"resourceTokenPartitionKey": [Function], "resourceTokenPartitionKey": [Function],
"resourceTree": ResourceTreeAdapter {
"container": [Circular],
"copyNotebook": [Function],
"databaseCollectionIdMap": ArrayHashMap {
"store": HashMap {
"container": Object {},
},
},
"koSubsCollectionIdMap": ArrayHashMap {
"store": HashMap {
"container": Object {},
},
},
"koSubsDatabaseIdMap": ArrayHashMap {
"store": HashMap {
"container": Object {},
},
},
"parameters": [Function],
},
"resourceTreeForResourceToken": ResourceTreeAdapterForResourceToken { "resourceTreeForResourceToken": ResourceTreeAdapterForResourceToken {
"container": [Circular], "container": [Circular],
"parameters": [Function], "parameters": [Function],
@ -4654,6 +4597,7 @@ exports[`SettingsComponent renders 1`] = `
"onSwitchToConnectionString": [Function], "onSwitchToConnectionString": [Function],
"openDialog": undefined, "openDialog": undefined,
"openSidePanel": undefined, "openSidePanel": undefined,
"params": undefined,
"provideFeedbackEmail": [Function], "provideFeedbackEmail": [Function],
"queriesClient": QueriesClient { "queriesClient": QueriesClient {
"container": [Circular], "container": [Circular],
@ -4686,26 +4630,6 @@ exports[`SettingsComponent renders 1`] = `
"resourceTokenCollectionId": [Function], "resourceTokenCollectionId": [Function],
"resourceTokenDatabaseId": [Function], "resourceTokenDatabaseId": [Function],
"resourceTokenPartitionKey": [Function], "resourceTokenPartitionKey": [Function],
"resourceTree": ResourceTreeAdapter {
"container": [Circular],
"copyNotebook": [Function],
"databaseCollectionIdMap": ArrayHashMap {
"store": HashMap {
"container": Object {},
},
},
"koSubsCollectionIdMap": ArrayHashMap {
"store": HashMap {
"container": Object {},
},
},
"koSubsDatabaseIdMap": ArrayHashMap {
"store": HashMap {
"container": Object {},
},
},
"parameters": [Function],
},
"resourceTreeForResourceToken": ResourceTreeAdapterForResourceToken { "resourceTreeForResourceToken": ResourceTreeAdapterForResourceToken {
"container": [Circular], "container": [Circular],
"parameters": [Function], "parameters": [Function],

View File

@ -1,6 +1,6 @@
import Explorer from "../Explorer"; import Explorer from "../Explorer";
import * as ko from "knockout"; import * as ko from "knockout";
import { ResourceTreeAdapter } from "./ResourceTree"; import { ResourceTree } from "./ResourceTree";
import * as ViewModels from "../../Contracts/ViewModels"; import * as ViewModels from "../../Contracts/ViewModels";
import TabsBase from "../Tabs/TabsBase"; import TabsBase from "../Tabs/TabsBase";
@ -26,22 +26,40 @@ describe("ResourceTreeAdapter", () => {
it("it should not select if no selected node", () => { it("it should not select if no selected node", () => {
const explorer = mockContainer(); const explorer = mockContainer();
explorer.selectedNode(undefined); explorer.selectedNode(undefined);
const resourceTreeAdapter = new ResourceTreeAdapter(explorer); const resourceTree = new ResourceTree({
const isDataNodeSelected = resourceTreeAdapter.isDataNodeSelected("foo", "bar", undefined); explorer,
lastRefreshedTime: 0,
galleryContentRoot: undefined,
myNotebooksContentRoot: undefined,
gitHubNotebooksContentRoot: undefined,
});
const isDataNodeSelected = resourceTree.isDataNodeSelected("foo", "bar", undefined);
expect(isDataNodeSelected).toBeFalsy(); expect(isDataNodeSelected).toBeFalsy();
}); });
it("it should not select incorrect subnodekinds", () => { it("it should not select incorrect subnodekinds", () => {
const resourceTreeAdapter = new ResourceTreeAdapter(mockContainer()); const resourceTree = new ResourceTree({
const isDataNodeSelected = resourceTreeAdapter.isDataNodeSelected("foo", "bar", undefined); explorer: mockContainer(),
lastRefreshedTime: 0,
galleryContentRoot: undefined,
myNotebooksContentRoot: undefined,
gitHubNotebooksContentRoot: undefined,
});
const isDataNodeSelected = resourceTree.isDataNodeSelected("foo", "bar", undefined);
expect(isDataNodeSelected).toBeFalsy(); expect(isDataNodeSelected).toBeFalsy();
}); });
it("it should not select if no active tab", () => { it("it should not select if no active tab", () => {
const explorer = mockContainer(); const explorer = mockContainer();
explorer.tabsManager.activeTab(undefined); explorer.tabsManager.activeTab(undefined);
const resourceTreeAdapter = new ResourceTreeAdapter(explorer); const resourceTree = new ResourceTree({
const isDataNodeSelected = resourceTreeAdapter.isDataNodeSelected("foo", "bar", undefined); explorer,
lastRefreshedTime: 0,
galleryContentRoot: undefined,
myNotebooksContentRoot: undefined,
gitHubNotebooksContentRoot: undefined,
});
const isDataNodeSelected = resourceTree.isDataNodeSelected("foo", "bar", undefined);
expect(isDataNodeSelected).toBeFalsy(); expect(isDataNodeSelected).toBeFalsy();
}); });
@ -54,8 +72,14 @@ describe("ResourceTreeAdapter", () => {
id: ko.observable<string>("dbid"), id: ko.observable<string>("dbid"),
selectedSubnodeKind: ko.observable<ViewModels.CollectionTabKind>(subNodeKind), selectedSubnodeKind: ko.observable<ViewModels.CollectionTabKind>(subNodeKind),
} as unknown) as ViewModels.TreeNode); } as unknown) as ViewModels.TreeNode);
const resourceTreeAdapter = new ResourceTreeAdapter(explorer); const resourceTree = new ResourceTree({
const isDataNodeSelected = resourceTreeAdapter.isDataNodeSelected("dbid", undefined, [ explorer,
lastRefreshedTime: 0,
galleryContentRoot: undefined,
myNotebooksContentRoot: undefined,
gitHubNotebooksContentRoot: undefined,
});
const isDataNodeSelected = resourceTree.isDataNodeSelected("dbid", undefined, [
ViewModels.CollectionTabKind.Documents, ViewModels.CollectionTabKind.Documents,
]); ]);
expect(isDataNodeSelected).toBeTruthy(); expect(isDataNodeSelected).toBeTruthy();
@ -74,8 +98,14 @@ describe("ResourceTreeAdapter", () => {
id: ko.observable<string>("collid"), id: ko.observable<string>("collid"),
selectedSubnodeKind: ko.observable<ViewModels.CollectionTabKind>(subNodeKind), selectedSubnodeKind: ko.observable<ViewModels.CollectionTabKind>(subNodeKind),
} as unknown) as ViewModels.TreeNode); } as unknown) as ViewModels.TreeNode);
const resourceTreeAdapter = new ResourceTreeAdapter(explorer); const resourceTree = new ResourceTree({
let isDataNodeSelected = resourceTreeAdapter.isDataNodeSelected("dbid", "collid", [subNodeKind]); explorer,
lastRefreshedTime: 0,
galleryContentRoot: undefined,
myNotebooksContentRoot: undefined,
gitHubNotebooksContentRoot: undefined,
});
let isDataNodeSelected = resourceTree.isDataNodeSelected("dbid", "collid", [subNodeKind]);
expect(isDataNodeSelected).toBeTruthy(); expect(isDataNodeSelected).toBeTruthy();
subNodeKind = ViewModels.CollectionTabKind.Graph; subNodeKind = ViewModels.CollectionTabKind.Graph;
@ -89,7 +119,7 @@ describe("ResourceTreeAdapter", () => {
id: ko.observable<string>("collid"), id: ko.observable<string>("collid"),
selectedSubnodeKind: ko.observable<ViewModels.CollectionTabKind>(subNodeKind), selectedSubnodeKind: ko.observable<ViewModels.CollectionTabKind>(subNodeKind),
} as unknown) as ViewModels.TreeNode); } as unknown) as ViewModels.TreeNode);
isDataNodeSelected = resourceTreeAdapter.isDataNodeSelected("dbid", "collid", [subNodeKind]); isDataNodeSelected = resourceTree.isDataNodeSelected("dbid", "collid", [subNodeKind]);
expect(isDataNodeSelected).toBeTruthy(); expect(isDataNodeSelected).toBeTruthy();
}); });
@ -105,8 +135,14 @@ describe("ResourceTreeAdapter", () => {
explorer.tabsManager.activeTab({ explorer.tabsManager.activeTab({
tabKind: ViewModels.CollectionTabKind.Documents, tabKind: ViewModels.CollectionTabKind.Documents,
} as TabsBase); } as TabsBase);
const resourceTreeAdapter = new ResourceTreeAdapter(explorer); const resourceTree = new ResourceTree({
const isDataNodeSelected = resourceTreeAdapter.isDataNodeSelected("dbid", "collid", [ explorer,
lastRefreshedTime: 0,
galleryContentRoot: undefined,
myNotebooksContentRoot: undefined,
gitHubNotebooksContentRoot: undefined,
});
const isDataNodeSelected = resourceTree.isDataNodeSelected("dbid", "collid", [
ViewModels.CollectionTabKind.Settings, ViewModels.CollectionTabKind.Settings,
]); ]);
expect(isDataNodeSelected).toBeFalsy(); expect(isDataNodeSelected).toBeFalsy();

View File

@ -2,7 +2,7 @@ import * as ko from "knockout";
import * as DataModels from "../../Contracts/DataModels"; import * as DataModels from "../../Contracts/DataModels";
import * as ViewModels from "../../Contracts/ViewModels"; import * as ViewModels from "../../Contracts/ViewModels";
import React from "react"; import React from "react";
import { ResourceTreeAdapter } from "./ResourceTree"; import { ResourceTree } from "./ResourceTree";
import { shallow } from "enzyme"; import { shallow } from "enzyme";
import { TreeComponent, TreeNode, TreeComponentProps } from "../Controls/TreeComponent/TreeComponent"; import { TreeComponent, TreeNode, TreeComponentProps } from "../Controls/TreeComponent/TreeComponent";
import Explorer from "../Explorer"; import Explorer from "../Explorer";
@ -237,7 +237,13 @@ const createMockCollection = (): ViewModels.Collection => {
describe("Resource tree for schema", () => { describe("Resource tree for schema", () => {
const mockContainer: Explorer = createMockContainer(); const mockContainer: Explorer = createMockContainer();
const resourceTree = new ResourceTreeAdapter(mockContainer); const resourceTree = new ResourceTree({
explorer: mockContainer,
lastRefreshedTime: 0,
galleryContentRoot: undefined,
myNotebooksContentRoot: undefined,
gitHubNotebooksContentRoot: undefined,
});
it("should render", () => { it("should render", () => {
const rootNode: TreeNode = resourceTree.buildSchemaNode(createMockCollection()); const rootNode: TreeNode = resourceTree.buildSchemaNode(createMockCollection());