UNPKG

wix-style-react

Version:
88 lines (78 loc) 3.03 kB
import { protractorUniTestkitFactoryCreator, protractorTestkitFactoryCreator } from 'wix-ui-test-utils/protractor'; import loaderDriverFactory from '../Loader/Loader.uni.driver'; import textDriverFactory from '../Text/Text.protractor.driver'; import searchDriverFactory from '../Search/Search.protractor.driver'; import { dataHooks } from '../SelectorList/SelectorList.helpers'; import { buttonDriverFactory } from '../Button/Button.uni.driver'; var loaderTestkitFactory = protractorUniTestkitFactoryCreator(loaderDriverFactory); var buttonTestkitFactory = protractorUniTestkitFactoryCreator(buttonDriverFactory); var textTestkitFactory = protractorTestkitFactoryCreator(textDriverFactory); var searchTestkitFactory = protractorTestkitFactoryCreator(searchDriverFactory); var modalSelectorLayoutDriverFactory = function modalSelectorLayoutDriverFactory(component) { var findByDataHook = function findByDataHook(dataHook) { return component.$("[data-hook=\"".concat(dataHook, "\"]")); }; var findAllByDataHook = function findAllByDataHook(dataHook) { return component.$$("[data-hook=\"".concat(dataHook, "\"]")); }; var mainLoaderDriver = function mainLoaderDriver() { return loaderTestkitFactory({ dataHook: dataHooks.mainLoader }); }; var nextPageLoaderDriver = function nextPageLoaderDriver() { return loaderTestkitFactory({ dataHook: dataHooks.nextPageLoader }); }; var cancelButtonDriver = function cancelButtonDriver() { return buttonTestkitFactory({ dataHook: 'cancellation-button' }); }; var okButtonDriver = function okButtonDriver() { return buttonTestkitFactory({ dataHook: 'confirmation-button' }); }; var subtitleTextDriver = function subtitleTextDriver() { return textTestkitFactory({ dataHook: dataHooks.subtitle }); }; var searchDriver = function searchDriver() { return searchTestkitFactory({ dataHook: dataHooks.search }); }; return { element: function element() { return component; }, mainLoaderDriver: mainLoaderDriver, nextPageLoaderDriver: nextPageLoaderDriver, cancelButtonDriver: cancelButtonDriver, okButtonDriver: okButtonDriver, searchDriver: searchDriver, subtitleTextDriver: subtitleTextDriver, getTitle: function getTitle() { return findByDataHook('header-layout-title').getText(); }, clickOnClose: function clickOnClose() { return findByDataHook('header-close-button').click(); }, getEmptyState: function getEmptyState() { return findByDataHook(dataHooks.emptyState); }, getNoResultsFoundState: function getNoResultsFoundState() { return findByDataHook(dataHooks.noResultsFoundState); }, listExists: function listExists() { return findByDataHook(dataHooks.list).isPresent(); }, numberOfItemsInList: function numberOfItemsInList() { return findAllByDataHook(dataHooks.selector).count(); } }; }; export default modalSelectorLayoutDriverFactory;