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" }, ], onSelectedRowsChange: (): void => {}, selectedRows: new Set(), size: { height: 0, width: 0, }, columnDefinitions: [ { id: ID_HEADER, label: "ID", isPartitionKey: false }, { id: PARTITION_KEY_HEADER, label: "Partition Key", isPartitionKey: true }, ], isRowSelectionDisabled: false, collection: { databaseId: "db", id: ((): string => "coll") as ko.Observable, } as ViewModels.CollectionBase, onRefreshTable: (): void => { throw new Error("Function not implemented."); }, selectedColumnIds: [], }); it("should render documents and partition keys in header", () => { const props: IDocumentsTableComponentProps = createMockProps(); const wrapper = mount(); expect(wrapper).toMatchSnapshot(); }); it("should not render selection column when isSelectionDisabled is true", () => { const props: IDocumentsTableComponentProps = createMockProps(); props.isRowSelectionDisabled = true; const wrapper = mount(); expect(wrapper).toMatchSnapshot(); }); });