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
JavaScript
'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'];