wix-style-react
Version:
wix-style-react
170 lines (169 loc) • 6.99 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.floatingNotificationDriverFactory = void 0;
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _unidriver = require("../test-utils/utils/unidriver");
var _constants = require("./constants");
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
var floatingNotificationDriverFactory = base => {
var getByDataHook = dataHook => base.$("[data-hook=\"".concat(dataHook, "\"]"));
var notificationButton = getByDataHook(_constants.dataHooks.button);
var notificationTextButton = getByDataHook(_constants.dataHooks.textButton);
var notificationCloseButton = getByDataHook(_constants.dataHooks.closeButton);
var notificationText = getByDataHook(_constants.dataHooks.notificationText);
return _objectSpread(_objectSpread({}, (0, _unidriver.baseUniDriverFactory)(base)), {}, {
/** Clicks notification button
* @returns {Promise<void>}
*/
clickButton: function () {
var _clickButton = (0, _asyncToGenerator2.default)(function* () {
return notificationButton.click();
});
function clickButton() {
return _clickButton.apply(this, arguments);
}
return clickButton;
}(),
/** Get the notification button's text
* @returns {Promise<string>}
*/
getButtonLabel: function () {
var _getButtonLabel = (0, _asyncToGenerator2.default)(function* () {
return notificationButton.text();
});
function getButtonLabel() {
return _getButtonLabel.apply(this, arguments);
}
return getButtonLabel;
}(),
/** Clicks the notification text button
* @returns {Promise<void>}
*/
clickTextButton: function () {
var _clickTextButton = (0, _asyncToGenerator2.default)(function* () {
return notificationTextButton.click();
});
function clickTextButton() {
return _clickTextButton.apply(this, arguments);
}
return clickTextButton;
}(),
/** Get the notification text button's text
* @returns {Promise<string>}
*/
getTextButtonLabel: function () {
var _getTextButtonLabel = (0, _asyncToGenerator2.default)(function* () {
return notificationTextButton.text();
});
function getTextButtonLabel() {
return _getTextButtonLabel.apply(this, arguments);
}
return getTextButtonLabel;
}(),
/** Clicks the notification close button
* @returns {Promise<void>}
*/
clickCloseButton: function () {
var _clickCloseButton = (0, _asyncToGenerator2.default)(function* () {
return notificationCloseButton.click();
});
function clickCloseButton() {
return _clickCloseButton.apply(this, arguments);
}
return clickCloseButton;
}(),
/** Get the notification text
* @returns {Promise<string>}
*/
getText: function () {
var _getText = (0, _asyncToGenerator2.default)(function* () {
return notificationText.text();
});
function getText() {
return _getText.apply(this, arguments);
}
return getText;
}(),
/** Checks whether button with passed tag name exists
* @param {keyof HTMLElementTagNameMap} as Tag name
* @returns {Promise<boolean>}
*/
isButtonAs: function () {
var _isButtonAs = (0, _asyncToGenerator2.default)(function* (as) {
return yield base.$("".concat(as, "[data-hook=\"").concat(_constants.dataHooks.button, "\"]")).exists();
});
function isButtonAs(_x) {
return _isButtonAs.apply(this, arguments);
}
return isButtonAs;
}(),
/** Get the notification button href attribute's value
* @returns {Promise<string | null>}
*/
getButtonHref: function () {
var _getButtonHref = (0, _asyncToGenerator2.default)(function* () {
return notificationButton.attr('href');
});
function getButtonHref() {
return _getButtonHref.apply(this, arguments);
}
return getButtonHref;
}(),
/** Get the notification button attribute's value by name
* @param {string} attrName Attribute name
* @returns {Promise<string | null>}
*/
getButtonAttr: function () {
var _getButtonAttr = (0, _asyncToGenerator2.default)(function* (attrName) {
return notificationButton.attr(attrName);
});
function getButtonAttr(_x2) {
return _getButtonAttr.apply(this, arguments);
}
return getButtonAttr;
}(),
/** Checks whether text button with passed tag name exists
* @param {keyof HTMLElementTagNameMap} as Tag name
* @returns {Promise<boolean>}
*/
isTextButtonAs: function () {
var _isTextButtonAs = (0, _asyncToGenerator2.default)(function* (as) {
return yield base.$("".concat(as, "[data-hook=\"").concat(_constants.dataHooks.textButton, "\"]")).exists();
});
function isTextButtonAs(_x3) {
return _isTextButtonAs.apply(this, arguments);
}
return isTextButtonAs;
}(),
/** Get the notification text button href attribute's value
* @returns {Promise<string | null>}
*/
getTextButtonHref: function () {
var _getTextButtonHref = (0, _asyncToGenerator2.default)(function* () {
return notificationTextButton.attr('href');
});
function getTextButtonHref() {
return _getTextButtonHref.apply(this, arguments);
}
return getTextButtonHref;
}(),
/** Get the notification text button attribute's value by name
* @param {string} attrName Attribute name
* @returns {Promise<string | null>}
*/
getTextButtonAttr: function () {
var _getTextButtonAttr = (0, _asyncToGenerator2.default)(function* (attrName) {
return notificationTextButton.attr(attrName);
});
function getTextButtonAttr(_x4) {
return _getTextButtonAttr.apply(this, arguments);
}
return getTextButtonAttr;
}()
});
};
exports.floatingNotificationDriverFactory = floatingNotificationDriverFactory;
//# sourceMappingURL=FloatingNotification.uni.driver.js.map