UNPKG

wc-e2e-page-objects

Version:

WooCommerce Page Objects to be used on end-to-end tests with Selenium WebDriver

189 lines (172 loc) 10.3 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _seleniumWebdriver = require('selenium-webdriver'); var _wpE2eWebdriver = require('wp-e2e-webdriver'); var _wpE2ePageObjects = require('wp-e2e-page-objects'); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /** * External dependencies */ var ComponentProductDataVariationRow = function (_Component) { _inherits(ComponentProductDataVariationRow, _Component); function ComponentProductDataVariationRow(driver, selector) { _classCallCheck(this, ComponentProductDataVariationRow); return _possibleConstructorReturn(this, (ComponentProductDataVariationRow.__proto__ || Object.getPrototypeOf(ComponentProductDataVariationRow)).call(this, driver, selector)); } _createClass(ComponentProductDataVariationRow, [{ key: 'checkEnabled', value: function checkEnabled() { var selector = _seleniumWebdriver.By.css(this.selector.value + ' input[name^="variable_enabled"]'); _wpE2eWebdriver.WebDriverHelper.mouseMoveTo(this.driver, this.selector); return _wpE2eWebdriver.WebDriverHelper.setCheckbox(this.driver, selector); } }, { key: 'uncheckEnabled', value: function uncheckEnabled() { var selector = _seleniumWebdriver.By.css(this.selector.value + ' input[name^="variable_enabled"]'); _wpE2eWebdriver.WebDriverHelper.mouseMoveTo(this.driver, this.selector); return _wpE2eWebdriver.WebDriverHelper.unsetCheckbox(this.driver, selector); } }, { key: 'checkVirtual', value: function checkVirtual() { var selector = _seleniumWebdriver.By.css(this.selector.value + ' input[name^="variable_is_virtual"]'); _wpE2eWebdriver.WebDriverHelper.mouseMoveTo(this.driver, this.selector); return _wpE2eWebdriver.WebDriverHelper.setCheckbox(this.driver, selector); } }, { key: 'uncheckVirtual', value: function uncheckVirtual() { var selector = _seleniumWebdriver.By.css(this.selector.value + ' input[name^="variable_is_virtual"]'); _wpE2eWebdriver.WebDriverHelper.mouseMoveTo(this.driver, this.selector); return _wpE2eWebdriver.WebDriverHelper.unsetCheckbox(this.driver, selector); } }, { key: 'checkDownloadable', value: function checkDownloadable() { var selector = _seleniumWebdriver.By.css(this.selector.value + ' input[name^="variable_is_downloadable"]'); _wpE2eWebdriver.WebDriverHelper.mouseMoveTo(this.driver, this.selector); return _wpE2eWebdriver.WebDriverHelper.setCheckbox(this.driver, selector); } }, { key: 'uncheckDownloadable', value: function uncheckDownloadable() { var selector = _seleniumWebdriver.By.css(this.selector.value + ' input[name^="variable_is_downloadable"]'); _wpE2eWebdriver.WebDriverHelper.mouseMoveTo(this.driver, this.selector); return _wpE2eWebdriver.WebDriverHelper.unsetCheckbox(this.driver, selector); } }, { key: 'checkManageStock', value: function checkManageStock() { var selector = _seleniumWebdriver.By.css(this.selector.value + ' input[name^="variable_manage_stock"]'); _wpE2eWebdriver.WebDriverHelper.mouseMoveTo(this.driver, this.selector); return _wpE2eWebdriver.WebDriverHelper.setCheckbox(this.driver, selector); } }, { key: 'uncheckManageStock', value: function uncheckManageStock() { var selector = _seleniumWebdriver.By.css(this.selector.value + ' input[name^="variable_manage_stock"]'); _wpE2eWebdriver.WebDriverHelper.mouseMoveTo(this.driver, this.selector); return _wpE2eWebdriver.WebDriverHelper.unsetCheckbox(this.driver, selector); } }, { key: 'setRegularPrice', value: function setRegularPrice(price) { var selector = _seleniumWebdriver.By.css(this.selector.value + ' input[name^="variable_regular_price"]'); return _wpE2eWebdriver.WebDriverHelper.setWhenSettable(this.driver, selector, price); } }, { key: 'setSalePrice', value: function setSalePrice(price) { var selector = _seleniumWebdriver.By.css(this.selector.value + ' input[name^="variable_sale_price"]'); return _wpE2eWebdriver.WebDriverHelper.setWhenSettable(this.driver, selector, price); } }, { key: 'selectTaxClass', value: function selectTaxClass(classOption) { var selector = _seleniumWebdriver.By.css(this.selector.value + ' select[name^="variable_tax_class"]'); return _wpE2eWebdriver.WebDriverHelper.selectOption(this.driver, selector, classOption); } }, { key: 'setSKU', value: function setSKU(sku) { var selector = _seleniumWebdriver.By.css(this.selector.value + ' input[name^="variable_sku"]'); return _wpE2eWebdriver.WebDriverHelper.setWhenSettable(this.driver, selector, sku); } }, { key: 'selectStockStatus', value: function selectStockStatus(status) { var selector = _seleniumWebdriver.By.css(this.selector.value + ' select[name^="variable_stock_status"]'); return _wpE2eWebdriver.WebDriverHelper.selectOption(this.driver, selector, status); } }, { key: 'setStockQty', value: function setStockQty(qty) { var selector = _seleniumWebdriver.By.css(this.selector.value + ' input[name^="variable_stock"]'); return _wpE2eWebdriver.WebDriverHelper.setWhenSettable(this.driver, selector, qty); } }, { key: 'selectAllowBackorders', value: function selectAllowBackorders(option) { var selector = _seleniumWebdriver.By.css(this.selector.value + ' select[name^="variable_backorders"]'); return _wpE2eWebdriver.WebDriverHelper.selectOption(this.driver, selector, option); } }, { key: 'setWeight', value: function setWeight(weight) { var selector = _seleniumWebdriver.By.css(this.selector.value + ' input[name^="variable_weight"]'); return _wpE2eWebdriver.WebDriverHelper.setWhenSettable(this.driver, selector, weight); } }, { key: 'setDimensionLength', value: function setDimensionLength(length) { var selector = _seleniumWebdriver.By.css(this.selector.value + ' input[name^="variable_length"]'); return _wpE2eWebdriver.WebDriverHelper.setWhenSettable(this.driver, selector, length); } }, { key: 'setDimensionWidth', value: function setDimensionWidth(width) { var selector = _seleniumWebdriver.By.css(this.selector.value + ' input[name^="variable_width"]'); return _wpE2eWebdriver.WebDriverHelper.setWhenSettable(this.driver, selector, width); } }, { key: 'setDimensionHeight', value: function setDimensionHeight(height) { var selector = _seleniumWebdriver.By.css(this.selector.value + ' input[name^="variable_height"]'); return _wpE2eWebdriver.WebDriverHelper.setWhenSettable(this.driver, selector, height); } }, { key: 'selectShippingClass', value: function selectShippingClass(option) { var selector = _seleniumWebdriver.By.css(this.selector.value + ' select[name^="variable_shipping_class"]'); return _wpE2eWebdriver.WebDriverHelper.selectOption(this.driver, selector, option); } }, { key: 'setVariationDescrtiption', value: function setVariationDescrtiption(description) { var selector = _seleniumWebdriver.By.css(this.selector.value + ' textarea[name^="variable_description"]'); return _wpE2eWebdriver.WebDriverHelper.setWhenSettable(this.driver, selector, description); } }, { key: 'toggle', value: function toggle() { // Force click hidden toggle button. var element = this.driver.findElement(_seleniumWebdriver.By.css(this.selector.value + ' > h3 > .handlediv')); this.driver.executeScript('arguments[0].click();', element); return _wpE2eWebdriver.WebDriverHelper.waitTillPresentAndDisplayed(this.driver, _seleniumWebdriver.By.css(this.selector.value + ' .wc-metabox-content')); } }, { key: 'remove', value: function remove() { this.driver.actions().mouseMove(this.driver.findElement(_seleniumWebdriver.By.css(this.selector.value + ' > h3 > .remove_variation'))).click().perform(); return this.driver.switchTo().alert().accept(); } }]); return ComponentProductDataVariationRow; }(_wpE2ePageObjects.Component); exports.default = ComponentProductDataVariationRow; module.exports = exports['default'];