UNPKG

wix-style-react

Version:
158 lines (135 loc) 5.2 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _testUtils = require('react-dom/test-utils'); var _testUtils2 = _interopRequireDefault(_testUtils); var _vanilla = require('wix-ui-test-utils/vanilla'); var _Loader = require('../Loader/Loader.driver'); var _Loader2 = _interopRequireDefault(_Loader); var _Button = require('../Backoffice/Button/Button.driver'); var _Button2 = _interopRequireDefault(_Button); var _Selector = require('../Selector/Selector.driver'); var _Selector2 = _interopRequireDefault(_Selector); var _Search = require('../Search/Search.driver'); var _Search2 = _interopRequireDefault(_Search); var _Text = require('../Text/Text.driver'); var _Text2 = _interopRequireDefault(_Text); var _ModalSelectorLayout = require('./ModalSelectorLayout.helpers'); var _Checkbox = require('../Checkbox/Checkbox.driver'); var _Checkbox2 = _interopRequireDefault(_Checkbox); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var textTestkitFactory = (0, _vanilla.testkitFactoryCreator)(_Text2.default); var loaderTestkitFactory = (0, _vanilla.testkitFactoryCreator)(_Loader2.default); var buttonTestkitFactory = (0, _vanilla.testkitFactoryCreator)(_Button2.default); var searchTestkitFactory = (0, _vanilla.testkitFactoryCreator)(_Search2.default); var checkboxTestkitFactory = (0, _vanilla.testkitFactoryCreator)(_Checkbox2.default); var modalSelectorLayoutDriverFactory = function modalSelectorLayoutDriverFactory(_ref) { var element = _ref.element; var findInModalbyDataHook = function findInModalbyDataHook(dataHook) { return element.querySelector('[data-hook="' + dataHook + '"]'); }; var mainLoaderDriver = function mainLoaderDriver() { return loaderTestkitFactory({ wrapper: element, dataHook: _ModalSelectorLayout.dataHooks.mainLoader }); }; var nextPageLoaderDriver = function nextPageLoaderDriver() { return loaderTestkitFactory({ wrapper: element, dataHook: _ModalSelectorLayout.dataHooks.nextPageLoader }); }; var cancelButtonDriver = function cancelButtonDriver() { return buttonTestkitFactory({ wrapper: element, dataHook: 'cancellation-button' }); }; var okButtonDriver = function okButtonDriver() { return buttonTestkitFactory({ wrapper: element, dataHook: 'confirmation-button' }); }; var subtitleTextDriver = function subtitleTextDriver() { return textTestkitFactory({ wrapper: element, dataHook: _ModalSelectorLayout.dataHooks.subtitle }); }; var searchDriver = function searchDriver() { return searchTestkitFactory({ wrapper: element, dataHook: _ModalSelectorLayout.dataHooks.search }); }; var getList = function getList() { return findInModalbyDataHook(_ModalSelectorLayout.dataHooks.list); }; var getModalBody = function getModalBody() { return findInModalbyDataHook(_ModalSelectorLayout.dataHooks.modalBody); }; var getSelectors = function getSelectors() { return getList().querySelectorAll('[data-hook="' + _ModalSelectorLayout.dataHooks.selector + '"]'); }; var selectorDriverAt = function selectorDriverAt(i) { return (0, _Selector2.default)({ element: getSelectors()[i] }); }; var emptyState = function emptyState() { return findInModalbyDataHook(_ModalSelectorLayout.dataHooks.emptyState); }; var noResultsFoundState = function noResultsFoundState() { return findInModalbyDataHook(_ModalSelectorLayout.dataHooks.noResultsFoundState); }; var _footerSelector = checkboxTestkitFactory({ wrapper: element, dataHook: 'footer-selector' }); return { exists: function exists() { return !!element; }, mainLoaderDriver: mainLoaderDriver, nextPageLoaderDriver: nextPageLoaderDriver, cancelButtonDriver: cancelButtonDriver, okButtonDriver: okButtonDriver, searchDriver: searchDriver, subtitleTextDriver: subtitleTextDriver, getTitle: function getTitle() { return findInModalbyDataHook('header-layout-title').textContent; }, clickOnClose: function clickOnClose() { return _testUtils2.default.Simulate.click(findInModalbyDataHook('header-close-button')); }, showsEmptyState: function showsEmptyState() { return !!emptyState(); }, getEmptyState: function getEmptyState() { return emptyState().childNodes[0]; }, showsNoResultsFoundState: function showsNoResultsFoundState() { return !!noResultsFoundState(); }, getNoResultsFoundState: function getNoResultsFoundState() { return noResultsFoundState().childNodes[0]; }, listExists: function listExists() { return !!getList(); }, numberOfItemsInList: function numberOfItemsInList() { return getSelectors().length; }, getSelectorDriverAt: function getSelectorDriverAt(i) { return selectorDriverAt(i); }, scrollDown: function scrollDown() { return getModalBody().dispatchEvent(new Event('scroll')); }, footerSelector: function footerSelector() { return _footerSelector; } }; }; exports.default = modalSelectorLayoutDriverFactory;