mirror of
https://github.com/Azure/cosmos-explorer.git
synced 2025-12-20 09:20:16 +00:00
Upgrade typescript to 4.9.5 and jest to 29.7.0 (and related packages) (#1884)
* Upgrade typescript to 4.9.5 * Fix compile issue and put back files in tsconfig.strict.json * Update test snapshots * Fix jest tests by upgrading jest and other related packages. * Attempt to fix playwright test * Revert "Attempt to fix playwright test" This reverts commit8293f34c9c. * 2nd attempt to fix example test * fix waitFor in playwright * Remove unused describe section * Attempt to fix e2e test * Revert "Attempt to fix e2e test" This reverts commit9745bcd2ef. * Upgrade playwright to latest * Revert "Upgrade playwright to latest" This reverts commite2ea1d0189. * Error test on e2e * Revert "Error test on e2e" This reverts commit124e3764f7. * Try to select dropdown item by xpath selector * Revert "Try to select dropdown item by xpath selector" This reverts commit8eb42a64e2. * Attempt to wait until page is fully loaded * Revert "Attempt to wait until page is fully loaded" This reverts commitbb43fcea6e. * Use playwright selectOption to select dropdown option * Revert "Use playwright selectOption to select dropdown option" This reverts commitdaa8cd0930. * Select dropdown option with playwright api instead of manual click * c7ab4c7ecf7b05f32a85568bce1a667ad8c62703Revert "Select dropdown option with playwright api instead of manual click" This reverts commitc7ab4c7ecf. * Wait for 5s after dropdown click * Revert "Wait for 5s after dropdown click" This reverts commit847e9ad33f. * Try forcing click * Revert "Try forcing click" This reverts commit29b9fa1bda. * Force click on the dropdown and set viewport size bigger. * Force click on the dropdown and set viewport size bigger. * try force clicking option * Skip container test on webkit * Add branded browsers to e2e tests --------- Co-authored-by: Ashley Stanton-Nurse <ashleyst@microsoft.com>
This commit is contained in:
110
src/Explorer/Tree/ResourceTreeAdapterLegacy.test.ts
Normal file
110
src/Explorer/Tree/ResourceTreeAdapterLegacy.test.ts
Normal file
@@ -0,0 +1,110 @@
|
||||
import * as ko from "knockout";
|
||||
import * as ViewModels from "../../Contracts/ViewModels";
|
||||
import { useTabs } from "../../hooks/useTabs";
|
||||
import TabsBase from "../Tabs/TabsBase";
|
||||
import { useSelectedNode } from "../useSelectedNode";
|
||||
|
||||
describe("useSelectedNode", () => {
|
||||
const mockTab = {
|
||||
tabKind: ViewModels.CollectionTabKind.Documents,
|
||||
} as TabsBase;
|
||||
|
||||
// TODO isDataNodeSelected needs a better design and refactor, but for now, we protect some of the code paths
|
||||
describe("isDataNodeSelected", () => {
|
||||
afterEach(() => {
|
||||
useSelectedNode.getState().setSelectedNode(undefined);
|
||||
useTabs.setState({ activeTab: undefined });
|
||||
});
|
||||
it("should not select if no selected node", () => {
|
||||
useTabs.setState({ activeTab: mockTab });
|
||||
const isDataNodeSelected = useSelectedNode.getState().isDataNodeSelected("foo", "bar", undefined);
|
||||
expect(isDataNodeSelected).toBeFalsy();
|
||||
});
|
||||
|
||||
it("should not select incorrect subnodekinds", () => {
|
||||
useTabs.setState({ activeTab: mockTab });
|
||||
useSelectedNode.getState().setSelectedNode({
|
||||
nodeKind: "nodeKind",
|
||||
rid: "rid",
|
||||
id: ko.observable<string>("id"),
|
||||
});
|
||||
const isDataNodeSelected = useSelectedNode.getState().isDataNodeSelected("foo", "bar", undefined);
|
||||
expect(isDataNodeSelected).toBeFalsy();
|
||||
});
|
||||
|
||||
it("should not select if no active tab", () => {
|
||||
useSelectedNode.getState().setSelectedNode({
|
||||
nodeKind: "nodeKind",
|
||||
rid: "rid",
|
||||
id: ko.observable<string>("id"),
|
||||
});
|
||||
const isDataNodeSelected = useSelectedNode.getState().isDataNodeSelected("foo", "bar", undefined);
|
||||
expect(isDataNodeSelected).toBeFalsy();
|
||||
});
|
||||
|
||||
it("should select if correct database node regardless of subnodekinds", () => {
|
||||
useTabs.setState({ activeTab: mockTab });
|
||||
const subNodeKind = ViewModels.CollectionTabKind.Documents;
|
||||
useSelectedNode.getState().setSelectedNode({
|
||||
nodeKind: "Database",
|
||||
rid: "dbrid",
|
||||
id: ko.observable<string>("dbid"),
|
||||
selectedSubnodeKind: ko.observable<ViewModels.CollectionTabKind>(subNodeKind),
|
||||
} as ViewModels.TreeNode);
|
||||
const isDataNodeSelected = useSelectedNode
|
||||
.getState()
|
||||
.isDataNodeSelected("dbid", undefined, [ViewModels.CollectionTabKind.Documents]);
|
||||
expect(isDataNodeSelected).toBeTruthy();
|
||||
});
|
||||
|
||||
it("should select correct collection node (documents or graph node)", () => {
|
||||
let subNodeKind = ViewModels.CollectionTabKind.Documents;
|
||||
let activeTab = {
|
||||
tabKind: subNodeKind,
|
||||
} as TabsBase;
|
||||
useTabs.setState({ activeTab });
|
||||
useSelectedNode.getState().setSelectedNode({
|
||||
nodeKind: "Collection",
|
||||
rid: "collrid",
|
||||
databaseId: "dbid",
|
||||
id: ko.observable<string>("collid"),
|
||||
selectedSubnodeKind: ko.observable<ViewModels.CollectionTabKind>(subNodeKind),
|
||||
} as ViewModels.TreeNode);
|
||||
let isDataNodeSelected = useSelectedNode.getState().isDataNodeSelected("dbid", "collid", [subNodeKind]);
|
||||
expect(isDataNodeSelected).toBeTruthy();
|
||||
|
||||
subNodeKind = ViewModels.CollectionTabKind.Graph;
|
||||
activeTab = {
|
||||
tabKind: subNodeKind,
|
||||
} as TabsBase;
|
||||
useTabs.setState({ activeTab });
|
||||
useSelectedNode.getState().setSelectedNode({
|
||||
nodeKind: "Collection",
|
||||
rid: "collrid",
|
||||
databaseId: "dbid",
|
||||
id: ko.observable<string>("collid"),
|
||||
selectedSubnodeKind: ko.observable<ViewModels.CollectionTabKind>(subNodeKind),
|
||||
} as ViewModels.TreeNode);
|
||||
isDataNodeSelected = useSelectedNode.getState().isDataNodeSelected("dbid", "collid", [subNodeKind]);
|
||||
expect(isDataNodeSelected).toBeTruthy();
|
||||
});
|
||||
|
||||
it("should not select incorrect collection node (e.g. Settings)", () => {
|
||||
useSelectedNode.getState().setSelectedNode({
|
||||
nodeKind: "Collection",
|
||||
rid: "collrid",
|
||||
databaseId: "dbid",
|
||||
id: ko.observable<string>("collid"),
|
||||
selectedSubnodeKind: ko.observable<ViewModels.CollectionTabKind>(ViewModels.CollectionTabKind.Documents),
|
||||
} as ViewModels.TreeNode);
|
||||
const activeTab = {
|
||||
tabKind: ViewModels.CollectionTabKind.Documents,
|
||||
} as TabsBase;
|
||||
useTabs.setState({ activeTab });
|
||||
const isDataNodeSelected = useSelectedNode
|
||||
.getState()
|
||||
.isDataNodeSelected("dbid", "collid", [ViewModels.CollectionTabKind.Settings]);
|
||||
expect(isDataNodeSelected).toBeFalsy();
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user