mirror of
https://github.com/Azure/cosmos-explorer.git
synced 2026-03-26 18:13:25 +00:00
68 lines
2.4 KiB
TypeScript
68 lines
2.4 KiB
TypeScript
import { shallow } from "enzyme";
|
|
import React from "react";
|
|
import Explorer from "../../Explorer";
|
|
import { AddCollectionPanel } from "./AddCollectionPanel";
|
|
|
|
const props = {
|
|
explorer: new Explorer(),
|
|
};
|
|
|
|
describe("AddCollectionPanel", () => {
|
|
it("should render Default properly", () => {
|
|
const wrapper = shallow(<AddCollectionPanel {...props} />);
|
|
expect(wrapper).toMatchSnapshot();
|
|
});
|
|
|
|
describe("targetAccountOverride prop", () => {
|
|
it("should render with targetAccountOverride prop set", () => {
|
|
const override = {
|
|
subscriptionId: "override-sub",
|
|
resourceGroup: "override-rg",
|
|
accountName: "override-account",
|
|
};
|
|
const wrapper = shallow(<AddCollectionPanel {...props} targetAccountOverride={override} />);
|
|
expect(wrapper).toBeDefined();
|
|
});
|
|
|
|
it("should pass targetAccountOverride to openEnableSynapseLinkDialog button click", () => {
|
|
const mockOpenEnableSynapseLinkDialog = jest.fn();
|
|
const explorerWithMock = { ...props.explorer, openEnableSynapseLinkDialog: mockOpenEnableSynapseLinkDialog };
|
|
const override = {
|
|
subscriptionId: "override-sub",
|
|
resourceGroup: "override-rg",
|
|
accountName: "override-account",
|
|
};
|
|
|
|
const wrapper = shallow(
|
|
<AddCollectionPanel explorer={explorerWithMock as unknown as Explorer} targetAccountOverride={override} />,
|
|
);
|
|
|
|
// isSynapseLinkEnabled section requires specific conditions; verify the component exists
|
|
expect(wrapper).toBeDefined();
|
|
});
|
|
});
|
|
|
|
describe("externalDatabaseOptions prop", () => {
|
|
it("should accept externalDatabaseOptions without error", () => {
|
|
const externalOptions = [
|
|
{ key: "db1", text: "Database One" },
|
|
{ key: "db2", text: "Database Two" },
|
|
];
|
|
const wrapper = shallow(<AddCollectionPanel {...props} externalDatabaseOptions={externalOptions} />);
|
|
expect(wrapper).toBeDefined();
|
|
});
|
|
});
|
|
|
|
describe("isCopyJobFlow prop", () => {
|
|
it("should render with isCopyJobFlow=true", () => {
|
|
const wrapper = shallow(<AddCollectionPanel {...props} isCopyJobFlow={true} />);
|
|
expect(wrapper).toBeDefined();
|
|
});
|
|
|
|
it("should render with isCopyJobFlow=false (default behaviour)", () => {
|
|
const wrapper = shallow(<AddCollectionPanel {...props} isCopyJobFlow={false} />);
|
|
expect(wrapper).toBeDefined();
|
|
});
|
|
});
|
|
});
|