import { defaultSelectedRowValidation } from "./propertyUtils"; import _ from "lodash"; const tableWProps = { multiRowSelection: false, widgetName: "Table1", defaultPageSize: 0, columnOrder: ["step", "task", "status", "action"], isVisibleDownload: true, dynamicPropertyPathList: [], displayName: "Table", iconSVG: "/static/media/icon.db8a9cbd.svg", topRow: 54, bottomRow: 82, isSortable: true, parentRowSpace: 10, type: "TABLE_WIDGET", defaultSelectedRow: "0", hideCard: false, parentColumnSpace: 25.6875, dynamicTriggerPathList: [], dynamicBindingPathList: [ { key: "primaryColumns.step.computedValue", }, { key: "primaryColumns.task.computedValue", }, { key: "primaryColumns.status.computedValue", }, { key: "primaryColumns.action.computedValue", }, ], leftColumn: 25, primaryColumns: { step: { index: 0, width: 150, id: "step", horizontalAlignment: "LEFT", verticalAlignment: "CENTER", columnType: "text", textSize: "PARAGRAPH", enableFilter: true, enableSort: true, isVisible: true, isCellVisible: true, isDerived: false, label: "step", computedValue: "{{Table1.sanitizedTableData.map((currentRow) => ( currentRow.step))}}", }, task: { index: 1, width: 150, id: "task", horizontalAlignment: "LEFT", verticalAlignment: "CENTER", columnType: "text", textSize: "PARAGRAPH", enableFilter: true, enableSort: true, isVisible: true, isCellVisible: true, isDerived: false, label: "task", computedValue: "{{Table1.sanitizedTableData.map((currentRow) => ( currentRow.task))}}", }, status: { index: 2, width: 150, id: "status", horizontalAlignment: "LEFT", verticalAlignment: "CENTER", columnType: "text", textSize: "PARAGRAPH", enableFilter: true, enableSort: true, isVisible: true, isCellVisible: true, isDerived: false, label: "status", computedValue: "{{Table1.sanitizedTableData.map((currentRow) => ( currentRow.status))}}", }, action: { index: 3, width: 150, id: "action", horizontalAlignment: "LEFT", verticalAlignment: "CENTER", columnType: "button", textSize: "PARAGRAPH", enableFilter: true, enableSort: true, isVisible: true, isCellVisible: true, isDisabled: false, isDerived: false, label: "action", onClick: "{{currentRow.step === '#1' ? showAlert('Done', 'success') : currentRow.step === '#2' ? navigateTo('https://docs.appsmith.com/core-concepts/connecting-to-data-sources/querying-a-database',undefined,'NEW_WINDOW') : navigateTo('https://docs.appsmith.com/core-concepts/displaying-data-read/display-data-tables',undefined,'NEW_WINDOW')}}", computedValue: "{{Table1.sanitizedTableData.map((currentRow) => ( currentRow.action))}}", }, }, delimiter: ",", key: "fzi9jh5j7j", derivedColumns: {}, rightColumn: 50, textSize: "PARAGRAPH", widgetId: "2tk8bgzwaz", isVisibleFilters: true, tableData: [ { step: "#1", task: "Drop a table", status: "✅", action: "", }, { step: "#2", task: "Create a query fetch_users with the Mock DB", status: "--", action: "", }, { step: "#3", task: "Bind the query using => fetch_users.data", status: "--", action: "", }, ], isVisible: true, label: "Data", searchKey: "", version: 3, totalRecordsCount: 0, parentId: "0", renderMode: "CANVAS", isLoading: false, horizontalAlignment: "LEFT", isVisibleSearch: true, isVisiblePagination: true, verticalAlignment: "CENTER", columnSizeMap: { task: 245, step: 62, status: 75, }, }; describe("unit test case for property utils", () => { it("case: check if the defaultSelectedRowValiation returns parsed value as undefined", () => { const value = defaultSelectedRowValidation("", tableWProps as any, _); expect(value.isValid).toBeTruthy(); expect(value.parsed).toEqual(undefined); }); });