wix-style-react
Version:
268 lines (221 loc) • 9.78 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.selectorListUniDriverFactory = void 0;
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _unidriver = require("../../test/utils/unidriver");
var _LoaderUni = require("../Loader/Loader.uni.driver");
var _SelectorUni = require("../Selector/Selector.uni.driver");
var _SearchUni = require("../Search/Search.uni.driver");
var _CheckboxUni = require("../Checkbox/Checkbox.uni.driver");
var _SelectorList = require("./SelectorList.helpers");
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
var selectorListUniDriverFactory = function selectorListUniDriverFactory(base, body) {
var findInListByDataHook = function findInListByDataHook(dataHook) {
return base.$("[data-hook=\"".concat(dataHook, "\"]"));
};
var mainLoaderDriver = (0, _LoaderUni.loaderUniDriverFactory)(base.$("[data-hook=\"".concat(_SelectorList.dataHooks.mainLoader, "\"]")), body);
var nextPageLoaderDriver = (0, _LoaderUni.loaderUniDriverFactory)(base.$("[data-hook=\"".concat(_SelectorList.dataHooks.nextPageLoader, "\"]")), body);
var searchDriver = (0, _SearchUni.searchUniDriverFactory)(base.$("[data-hook=\"".concat(_SelectorList.dataHooks.search, "\"]")), body);
var toggleAllCheckboxDriver = (0, _CheckboxUni.checkboxUniDriverFactory)(base.$("[data-hook=\"".concat(_SelectorList.dataHooks.toggleAllCheckbox, "\"]")), body);
var getList = function getList() {
return findInListByDataHook(_SelectorList.dataHooks.list);
};
var getListContent = function getListContent() {
return findInListByDataHook(_SelectorList.dataHooks.content);
};
var getSelectors = function getSelectors() {
return getList().$$("[data-hook=\"".concat(_SelectorList.dataHooks.selector, "\"]"));
};
var selectorDriverAt = function selectorDriverAt(i) {
return (0, _SelectorUni.selectorUniDriverFactory)(getSelectors().get(i));
};
var emptyState = function emptyState() {
return findInListByDataHook(_SelectorList.dataHooks.emptyState);
};
var noResultsFoundState = function noResultsFoundState() {
return findInListByDataHook(_SelectorList.dataHooks.noResultsFoundState);
};
return _objectSpread(_objectSpread({}, (0, _unidriver.baseUniDriverFactory)(base)), {}, {
/**
* Checks whether the main loader exists.
* @returns {Promise<boolean>} True if main loader exists; false otherwise.
*/
mainLoaderExists: function mainLoaderExists() {
return mainLoaderDriver.exists();
},
/**
* Checks whether the next page loader exists.
* @returns {Promise<boolean>} True if next page loader exists; false otherwise.
*/
nextPageLoaderExists: function nextPageLoaderExists() {
return nextPageLoaderDriver.exists();
},
/**
* Checks whether the search input exists.
* @returns {Promise<boolean>} True if search input exists; false otherwise.
*/
searchInputExists: function searchInputExists() {
return searchDriver.exists();
},
/**
* Focuses search input
* @returns {Promise<void>} Resolves when search input is focused.
*/
focusSearchInput: function focusSearchInput() {
return searchDriver.inputDriver.focus();
},
/**
* Changes search input value
* @param {string} value
* @returns {Promise<void>} Resolves when search input value changes.
*/
enterSearchValue: function enterSearchValue(value) {
return searchDriver.inputDriver.enterText(value);
},
/**
* Returns search input value
* @returns {Promise<string>} Search input string value.
*/
getSearchValue: function getSearchValue() {
return searchDriver.inputDriver.getValue();
},
/**
* Clicks on search input's clear button to clear value
* @returns {Promise<void>} Resolves when clear button was clicked.
*/
clickSearchInputClear: function clickSearchInputClear() {
return searchDriver.inputDriver.clickClear();
},
/**
* Checks whether the toggle-all checkbox exists.
* @param {UniDriver<any>} checkboxContainer a unidriver of the checkbox's container
* @returns {Promise<boolean>} True if toggle-all checkbox exists; false otherwise.
*/
toggleAllCheckboxExists: function toggleAllCheckboxExists() {
return toggleAllCheckboxDriver.exists();
},
/**
* Checks whether the toggle-all checkbox is checked.
* @param {UniDriver<any>} checkboxContainer a unidriver of the checkbox's container
* @returns {Promise<boolean>} True if toggle-all checkbox is checked; false otherwise.
*/
isToggleAllCheckboxChecked: function isToggleAllCheckboxChecked() {
return toggleAllCheckboxDriver.isChecked();
},
/**
* Returns toggle-all checkbox label text
* @param {UniDriver<any>} checkboxContainer a unidriver of the checkbox's container
* @returns {Promise<string>}
*/
getToggleAllCheckboxLabel: function getToggleAllCheckboxLabel() {
return toggleAllCheckboxDriver.getLabel();
},
/**
* Clicks on toggle-all checkbox to select/deselect all non-disabled items.
* @param {UniDriver<any>} checkboxContainer a unidriver of the checkbox's container
* @returns {Promise<void>} Resolves when toggle-all checkbox was clicked.
*/
clickToggleAllCheckbox: function clickToggleAllCheckbox() {
return toggleAllCheckboxDriver.click();
},
/**
* Checks whether empty state is shown.
* @returns {Promise<boolean>} True if empty state is shown; false otherwise.
*/
showsEmptyState: function showsEmptyState() {
return emptyState().exists();
},
/**
* Gets empty state.
* @returns {Promise<HTMLElement>}
*/
getEmptyState: function getEmptyState() {
return emptyState()._prop('firstChild');
},
/**
* Checks whether no results found state is shown.
* @returns {Promise<boolean>} True if no results found state is shown; false otherwise.
*/
showsNoResultsFoundState: function showsNoResultsFoundState() {
return noResultsFoundState().exists();
},
/**
* Gets no results found state.
* @returns {Promise<HTMLElement>}
*/
getNoResultsFoundState: function getNoResultsFoundState() {
return noResultsFoundState()._prop('firstChild');
},
/**
* Checks whether the list exists.
* @returns {Promise<boolean>} True if list exists; false otherwise.
*/
listExists: function listExists() {
return getList().exists();
},
/**
* Returns the number of items in the list.
* @returns {Promise<number>}
*/
numberOfItemsInList: function numberOfItemsInList() {
return getSelectors().count();
},
/**
* Toggles selector of the item at the passed index.
* @param {number} i Item index
* @returns {Promise<void>} Resolves when selector is toggled.
*/
toggleSelectorAt: function toggleSelectorAt(i) {
return selectorDriverAt(i).toggle();
},
/**
* Checks whether the selector of the item at the passed index is checked.
* @param {number} i Item index
* @returns {Promise<boolean>}
*/
isSelectorCheckedAt: function isSelectorCheckedAt(i) {
return selectorDriverAt(i).isChecked();
},
/**
* Checks whether the selector of the item at the passed index is disabled.
* @param {number} i Item index
* @returns {Promise<boolean>}
*/
isSelectorDisabledAt: function isSelectorDisabledAt(i) {
return selectorDriverAt(i).isDisabled();
},
/**
* Triggers "scroll" event on the list.
* @returns {Promise<boolean>}.
*/
scrollDown: function () {
var _scrollDown = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return getListContent().getNative();
case 2:
return _context.abrupt("return", _context.sent.dispatchEvent(new Event('scroll')));
case 3:
case "end":
return _context.stop();
}
}
}, _callee);
}));
function scrollDown() {
return _scrollDown.apply(this, arguments);
}
return scrollDown;
}()
});
};
exports.selectorListUniDriverFactory = selectorListUniDriverFactory;