UNPKG

wix-style-react

Version:
175 lines (147 loc) 5.19 kB
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator"; import _regeneratorRuntime from "@babel/runtime/regenerator"; import { buttonNextDriverFactory } from "wix-ui-core/dist/es/src/components/button-next/button-next.uni.driver"; import { tooltipDriverFactory } from '../Tooltip/Tooltip.uni.driver'; import { findByHook, getDataAttributeValue } from '../../test/utils/unidriver'; import { dataHooks, dataAttr } from './constants'; export var toggleButtonDriverFactory = function toggleButtonDriverFactory(base, body) { var tooltipBaseElement = findByHook(base, dataHooks.tooltip); var tooltipDriver = tooltipDriverFactory(tooltipBaseElement, body); var buttonDriver = buttonNextDriverFactory(base); function getLabelPlacement() { return _getLabelPlacement.apply(this, arguments); } function _getLabelPlacement() { _getLabelPlacement = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4() { return _regeneratorRuntime.wrap(function _callee4$(_context4) { while (1) { switch (_context4.prev = _context4.next) { case 0: return _context4.abrupt("return", getDataAttributeValue(base, dataAttr.placement)); case 1: case "end": return _context4.stop(); } } }, _callee4); })); return _getLabelPlacement.apply(this, arguments); } function getTooltipText() { return tooltipDriver.getTooltipText(); } // Not using Omit so that AutoDocs will generate properly return { /** * Checks whether ToggleButton exist * @returns {Promise<boolean>} */ exists: buttonDriver.exists, /** * Gets the ToggleButton element * @returns {Promise<any>} */ element: buttonDriver.element, /** * Clicks on the element * @returns {Promise<void>} */ click: buttonDriver.click, /** * Checks whether ToggleButton is disabled * @returns {Promise<boolean>} */ isButtonDisabled: buttonDriver.isButtonDisabled, /** * Gets the ToggleButton skin * @returns {Promise<string | null>} */ getSkin: function () { var _getSkin = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() { return _regeneratorRuntime.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.next = 2; return getDataAttributeValue(base, dataAttr.skin); case 2: return _context.abrupt("return", _context.sent); case 3: case "end": return _context.stop(); } } }, _callee); })); function getSkin() { return _getSkin.apply(this, arguments); } return getSkin; }(), /** * Checks whether ToggleButton is selected * @returns {Promise<boolean>} */ isButtonSelected: function () { var _isButtonSelected = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() { return _regeneratorRuntime.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: _context2.next = 2; return getDataAttributeValue(base, dataAttr.selected); case 2: _context2.t0 = _context2.sent; return _context2.abrupt("return", _context2.t0 === 'true'); case 4: case "end": return _context2.stop(); } } }, _callee2); })); function isButtonSelected() { return _isButtonSelected.apply(this, arguments); } return isButtonSelected; }(), /** * Gets the ToggleButton label placement * @returns {Promise<string>} */ getLabelPlacement: getLabelPlacement, /** * Gets the ToggleButton label placement value * @returns {Promise<string>} */ getLabelValue: function () { var _getLabelValue = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() { var placement; return _regeneratorRuntime.wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: _context3.next = 2; return getLabelPlacement(); case 2: placement = _context3.sent; if (!(placement === 'tooltip')) { _context3.next = 5; break; } return _context3.abrupt("return", getTooltipText()); case 5: return _context3.abrupt("return", findByHook(base, dataHooks.label).text()); case 6: case "end": return _context3.stop(); } } }, _callee3); })); function getLabelValue() { return _getLabelValue.apply(this, arguments); } return getLabelValue; }() }; };