wix-style-react
Version:
wix-style-react
70 lines (66 loc) • 2.92 kB
JavaScript
import { protractorTestkitFactoryCreator } from 'wix-ui-test-utils/protractor';
import loaderDriverFactory from '../Loader/Loader.protractor.driver';
import buttonDriverFactory from '../Backoffice/Button/Button.protractor.driver';
import textDriverFactory from '../Text/Text.protractor.driver';
import searchDriverFactory from '../Search/Search.protractor.driver';
import { dataHooks } from './ModalSelectorLayout.helpers';
var loaderTestkitFactory = protractorTestkitFactoryCreator(loaderDriverFactory);
var buttonTestkitFactory = protractorTestkitFactoryCreator(buttonDriverFactory);
var textTestkitFactory = protractorTestkitFactoryCreator(textDriverFactory);
var searchTestkitFactory = protractorTestkitFactoryCreator(searchDriverFactory);
var modalSelectorLayoutDriverFactory = function modalSelectorLayoutDriverFactory(component) {
var findByDataHook = function findByDataHook(dataHook) {
return component.$('[data-hook="' + dataHook + '"]');
};
var findAllByDataHook = function findAllByDataHook(dataHook) {
return component.$$('[data-hook="' + 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;