wix-style-react
Version:
wix-style-react
48 lines • 2.35 kB
JavaScript
import { baseUniDriverFactory } from '../test-utils/utils/unidriver';
import { dataHooks } from './constants';
import { checkboxUniDriverFactory } from '../Checkbox/Checkbox.uni.driver';
import { dragHandleUniDriverFactory } from '../DragHandle/DragHandle.uni.driver';
export const tableListItemDriverFactory = (base, body) => {
const getColumnAt = index => base.$$(`[data-hook="${dataHooks.tableListItemValue}"]`).get(index);
const getCheckboxDriver = () => checkboxUniDriverFactory(base.$(`[data-hook="${dataHooks.tableListItemCheckbox}"]`), body);
const getColumnTextAt = async (index) => {
const column = await getColumnAt(index);
return column.text();
};
const getDragHandleDriver = () => dragHandleUniDriverFactory(base.$(`[data-hook="${dataHooks.tableListItemDragHandle}"]`), body);
const getExpandHandle = () => {
return {
exists: () => base.$(`[data-hook="${dataHooks.tableListItemExpandHandle}"]`).exists(),
click: () => base.$(`[data-hook="${dataHooks.tableListItemExpandHandle}"]`).click(),
};
};
return {
...baseUniDriverFactory(base, body),
getColumnTextAt,
isCheckboxExists: () => {
const driver = getCheckboxDriver();
return driver.exists();
},
isCheckboxChecked: () => {
const driver = getCheckboxDriver();
return driver.isChecked();
},
isCheckboxDisabled: () => {
const driver = getCheckboxDriver();
return driver.isDisabled();
},
toggleCheckbox: () => {
const driver = getCheckboxDriver();
return driver.click();
},
expandHandleExists: () => getExpandHandle().exists(),
toggleExpandHandle: () => getExpandHandle().click(),
hoverDragHandle: () => getDragHandleDriver().hover(),
getDragHandleDisabled: () => getDragHandleDriver().getDisabled(),
isDragHandleTooltipEnabled: () => getDragHandleDriver().isTooltipEnabled(),
getDragHandleTooltipContent: () => getDragHandleDriver().getTooltipContent(),
isCheckboxTooltipEnabled: () => getCheckboxDriver().isTooltipEnabled(),
getCheckboxTooltipContent: () => getCheckboxDriver().getTooltipContent(),
};
};
//# sourceMappingURL=TableListItem.uni.driver.js.map