UNPKG

wc-e2e-page-objects

Version:

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

130 lines (106 loc) 5.96 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 _wpE2ePageObjects = require('wp-e2e-page-objects'); var _pageMap = require('../page-map'); function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } 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 */ /** * Internal dependencies. */ var StoreOwnerFlow = function (_UserFlow) { _inherits(StoreOwnerFlow, _UserFlow); function StoreOwnerFlow(driver) { var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { baseUrl: 'http://example.com', username: '', password: '' }; _classCallCheck(this, StoreOwnerFlow); return _possibleConstructorReturn(this, (StoreOwnerFlow.__proto__ || Object.getPrototypeOf(StoreOwnerFlow)).call(this, driver, args)); } _createClass(StoreOwnerFlow, [{ key: 'openProducts', value: function openProducts() { return this.open(_pageMap.PAGE.WP_ADMIN_PRODUCTS); } }, { key: 'openNewProduct', value: function openNewProduct() { return this.open(_pageMap.PAGE.WP_ADMIN_NEW_PRODUCT); } }, { key: 'openNewOrder', value: function openNewOrder() { return this.open(_pageMap.PAGE.WP_ADMIN_NEW_ORDER); } }, { key: 'openNewCoupon', value: function openNewCoupon() { return this.open(_pageMap.PAGE.WP_ADMIN_NEW_COUPON); } }, { key: 'openGeneralSettings', value: function openGeneralSettings() { return this.open(_pageMap.PAGE.WP_ADMIN_WC_SETTINGS_GENERAL); } }, { key: 'setGeneralSettings', value: function setGeneralSettings(args) { var settings = this.openGeneralSettings(); args = Object.assign({ baseLocation: ['United States', 'United States (US) — California'], sellingLocation: 'Sell to all countries', enableTaxes: true, currency: ['United States', 'United States dollar ($)'] }, args); // This needs to happen first and save, otherwise the base location settings won't // have the latest dropdown options. if (args.sellingLocation) { settings.selectSellingLocation(args.sellingLocation); settings.saveChanges(); } if (Array.isArray(args.baseLocation) && 2 === args.baseLocation.length) { settings.selectBaseLocation.apply(settings, _toConsumableArray(args.baseLocation)); } if (args.enableTaxes) { settings.checkEnableTaxes(); } if (Array.isArray(args.currency) && 2 === args.currency.length) { settings.selectCurrency.apply(settings, _toConsumableArray(args.currency)); } return settings.saveChanges(); } }, { key: 'openCheckoutSettings', value: function openCheckoutSettings() { return this.open(_pageMap.PAGE.WP_ADMIN_WC_SETTINGS_CHECKOUT); } }, { key: 'enableCOD', value: function enableCOD() { this.open(_pageMap.PAGE.WP_ADMIN_WC_SETTINGS_CHECKOUT_COD); this.currentPage.checkEnable(); return this.currentPage.saveChanges(); } }, { key: 'enableBACS', value: function enableBACS() { this.open(_pageMap.PAGE.WP_ADMIN_WC_SETTINGS_CHECKOUT_BACS); this.currentPage.checkEnable(); return this.currentPage.saveChanges(); } }, { key: 'enablePayPal', value: function enablePayPal() { this.open(_pageMap.PAGE.WP_ADMIN_WC_SETTINGS_CHECKOUT_PAYPAL); this.currentPage.checkEnable(); return this.currentPage.saveChanges(); } }]); return StoreOwnerFlow; }(_wpE2ePageObjects.UserFlow); exports.default = StoreOwnerFlow; module.exports = exports['default'];