mirror of
https://github.com/Azure/cosmos-explorer.git
synced 2025-12-25 20:01:45 +00:00
* add Materialized Views feature flag * fetch MV properties from RP API and capture them in our data models * AddMaterializedViewPanel * undefined check * subpartition keys * Partition Key, Throughput, Unique Keys * All views associated with a container (#2063) and Materialized View Target Container (#2065) Identified Source container and Target container Created tabs in Scale and Settings respectively Changed the Icon of target container * Add MV Panel * format * format * styling * add tests * tests * test files (#2074) Co-authored-by: nishthaAhujaa * fix type error * fix tests * merge conflict * Panel Integration (#2075) * integrated panel * edited header text --------- Co-authored-by: nishthaAhujaa <nishtha17354@iiittd.ac.in> Co-authored-by: Asier Isayas <aisayas@microsoft.com> * updated tests (#2077) Co-authored-by: nishthaAhujaa * fix tests * update treeNodeUtil test snap * update settings component test snap * fixed source container in global "New Materialized View" * source container check (#2079) Co-authored-by: nishthaAhujaa * renamed Materialized Views to Global Secondary Index * more renaming * fix import * fix typo * disable materialized views for Fabric * updated input validation --------- Co-authored-by: Asier Isayas <aisayas@microsoft.com> Co-authored-by: Nishtha Ahuja <45535788+nishthaAhujaa@users.noreply.github.com> Co-authored-by: nishthaAhujaa <nishtha17354@iiittd.ac.in>
43 lines
1.4 KiB
TypeScript
43 lines
1.4 KiB
TypeScript
import { PrimaryButton } from "@fluentui/react";
|
|
import { shallow } from "enzyme";
|
|
import React from "react";
|
|
import { collection, container } from "../TestUtils";
|
|
import { GlobalSecondaryIndexSourceComponent } from "./GlobalSecondaryIndexSourceComponent";
|
|
|
|
describe("GlobalSecondaryIndexSourceComponent", () => {
|
|
let testCollection: typeof collection;
|
|
let testExplorer: typeof container;
|
|
|
|
beforeEach(() => {
|
|
testCollection = { ...collection };
|
|
});
|
|
|
|
it("renders without crashing", () => {
|
|
const wrapper = shallow(
|
|
<GlobalSecondaryIndexSourceComponent collection={testCollection} explorer={testExplorer} />,
|
|
);
|
|
expect(wrapper.exists()).toBe(true);
|
|
});
|
|
|
|
it("renders the PrimaryButton", () => {
|
|
const wrapper = shallow(
|
|
<GlobalSecondaryIndexSourceComponent collection={testCollection} explorer={testExplorer} />,
|
|
);
|
|
expect(wrapper.find(PrimaryButton).exists()).toBe(true);
|
|
});
|
|
|
|
it("updates when new global secondary indexes are provided", () => {
|
|
const wrapper = shallow(
|
|
<GlobalSecondaryIndexSourceComponent collection={testCollection} explorer={testExplorer} />,
|
|
);
|
|
|
|
// Simulating an update by modifying the observable directly
|
|
testCollection.materializedViews([{ id: "view3", _rid: "rid3" }]);
|
|
|
|
wrapper.setProps({ collection: testCollection });
|
|
wrapper.update();
|
|
|
|
expect(wrapper.find(PrimaryButton).exists()).toBe(true);
|
|
});
|
|
});
|