mirror of
https://github.com/Azure/cosmos-explorer.git
synced 2025-12-30 22:31:56 +00:00
* Infrastructure to save app state * Save filters * Replace read/save methods with more generic ones * Make datalist for filter unique per database/container combination * Disable saving middle split position for now * Fix unit tests * Turn off confusing auto-complete from input box * Disable tabStateData for now * Save and restore split position * Fix replace autocomplete="off" by removing id on Input tag * Properly set allotment width * Fix saved percentage * Save splitter per collection * Add error handling and telemetry * Fix compiling issue * Add ability to delete filter history. Bug fix when hitting Enter on filter input box. * Replace delete filter modal with dropdown menu * Add code to remove oldest record if max limit is reached in app state persistence * Only save new splitter position on drag end (not onchange) * Add unit tests * Add Clear all in settings. Update snapshots * Fix format * Remove filter delete and keep filter history to a max. Reword clear button and message in settings pane. * Fix setting button label * Update test snapshots * Reword Clear history button text * Update unit test snapshot * Enable Settings pane for Fabric, but turn off Rbac dial for Fabric. * Change union type to enum * Update src/Shared/AppStatePersistenceUtility.ts Assert that path does not include slash char. Co-authored-by: Ashley Stanton-Nurse <ashleyst@microsoft.com> * Update src/Shared/AppStatePersistenceUtility.ts Assert that path does not contain slash. Co-authored-by: Ashley Stanton-Nurse <ashleyst@microsoft.com> * Fix format --------- Co-authored-by: Ashley Stanton-Nurse <ashleyst@microsoft.com>
48 lines
1.6 KiB
TypeScript
48 lines
1.6 KiB
TypeScript
import { TableRowId } from "@fluentui/react-components";
|
|
import { mount } from "enzyme";
|
|
import React from "react";
|
|
import * as ViewModels from "../../../Contracts/ViewModels";
|
|
import { DocumentsTableComponent, IDocumentsTableComponentProps } from "./DocumentsTableComponent";
|
|
|
|
const PARTITION_KEY_HEADER = "partitionKey";
|
|
const ID_HEADER = "id";
|
|
|
|
describe("DocumentsTableComponent", () => {
|
|
const createMockProps = (): IDocumentsTableComponentProps => ({
|
|
items: [
|
|
{ [ID_HEADER]: "1", [PARTITION_KEY_HEADER]: "pk1" },
|
|
{ [ID_HEADER]: "2", [PARTITION_KEY_HEADER]: "pk2" },
|
|
{ [ID_HEADER]: "3", [PARTITION_KEY_HEADER]: "pk3" },
|
|
],
|
|
onItemClicked: (): void => {},
|
|
onSelectedRowsChange: (): void => {},
|
|
selectedRows: new Set<TableRowId>(),
|
|
size: {
|
|
height: 0,
|
|
width: 0,
|
|
},
|
|
columnHeaders: {
|
|
idHeader: ID_HEADER,
|
|
partitionKeyHeaders: [PARTITION_KEY_HEADER],
|
|
},
|
|
isSelectionDisabled: false,
|
|
collection: {
|
|
databaseId: "db",
|
|
id: ((): string => "coll") as ko.Observable<string>,
|
|
} as ViewModels.CollectionBase,
|
|
});
|
|
|
|
it("should render documents and partition keys in header", () => {
|
|
const props: IDocumentsTableComponentProps = createMockProps();
|
|
const wrapper = mount(<DocumentsTableComponent {...props} />);
|
|
expect(wrapper).toMatchSnapshot();
|
|
});
|
|
|
|
it("should not render selection column when isSelectionDisabled is true", () => {
|
|
const props: IDocumentsTableComponentProps = createMockProps();
|
|
props.isSelectionDisabled = true;
|
|
const wrapper = mount(<DocumentsTableComponent {...props} />);
|
|
expect(wrapper).toMatchSnapshot();
|
|
});
|
|
});
|