wix-style-react
Version:
161 lines (132 loc) • 5.11 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _testUtils = _interopRequireDefault(require("react-dom/test-utils"));
var _vanilla = require("wix-ui-test-utils/vanilla");
var _Loader = _interopRequireDefault(require("../Loader/Loader.driver"));
var _Selector = _interopRequireDefault(require("../Selector/Selector.driver"));
var _Search = _interopRequireDefault(require("../Search/Search.driver"));
var _Text = _interopRequireDefault(require("../Text/Text.driver"));
var _SelectorList = require("../SelectorList/SelectorList.helpers");
var _Checkbox = _interopRequireDefault(require("../Checkbox/Checkbox.driver"));
var _ButtonLegacy = _interopRequireDefault(require("../Button/Button.legacy.driver"));
var textTestkitFactory = (0, _vanilla.testkitFactoryCreator)(_Text["default"]);
var loaderTestkitFactory = (0, _vanilla.testkitFactoryCreator)(_Loader["default"]);
var buttonTestkitFactory = (0, _vanilla.testkitFactoryCreator)(_ButtonLegacy["default"]);
var searchTestkitFactory = (0, _vanilla.testkitFactoryCreator)(_Search["default"]);
var checkboxTestkitFactory = (0, _vanilla.testkitFactoryCreator)(_Checkbox["default"]);
var modalSelectorLayoutDriverFactory = function modalSelectorLayoutDriverFactory(_ref) {
var element = _ref.element;
var findInModalByDataHook = function findInModalByDataHook(dataHook) {
return element.querySelector("[data-hook=\"".concat(dataHook, "\"]"));
};
var mainLoaderDriver = function mainLoaderDriver() {
return loaderTestkitFactory({
wrapper: element,
dataHook: _SelectorList.dataHooks.mainLoader
});
};
var nextPageLoaderDriver = function nextPageLoaderDriver() {
return loaderTestkitFactory({
wrapper: element,
dataHook: _SelectorList.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: _SelectorList.dataHooks.subtitle
});
};
var searchDriver = function searchDriver() {
return searchTestkitFactory({
wrapper: element,
dataHook: _SelectorList.dataHooks.search
});
};
var getList = function getList() {
return findInModalByDataHook(_SelectorList.dataHooks.list);
};
var getSelectorListContent = function getSelectorListContent() {
return findInModalByDataHook(_SelectorList.dataHooks.content);
};
var getSelectors = function getSelectors() {
return getList().querySelectorAll("[data-hook=\"".concat(_SelectorList.dataHooks.selector, "\"]"));
};
var selectorDriverAt = function selectorDriverAt(i) {
return (0, _Selector["default"])({
element: getSelectors()[i]
});
};
var emptyState = function emptyState() {
return findInModalByDataHook(_SelectorList.dataHooks.emptyState);
};
var noResultsFoundState = function noResultsFoundState() {
return findInModalByDataHook(_SelectorList.dataHooks.noResultsFoundState);
};
var _footerSelector = checkboxTestkitFactory({
wrapper: element,
dataHook: _SelectorList.dataHooks.toggleAllCheckbox
});
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 _testUtils["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 getSelectorListContent().dispatchEvent(new Event('scroll'));
},
footerSelector: function footerSelector() {
return _footerSelector;
}
};
};
var _default = modalSelectorLayoutDriverFactory;
exports["default"] = _default;