UNPKG

@wordpress/e2e-test-utils

Version:
59 lines (56 loc) 1.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createUser = createUser; var _changeCase = require("change-case"); var _switchUserToAdmin = require("./switch-user-to-admin"); var _switchUserToTest = require("./switch-user-to-test"); var _visitAdminPage = require("./visit-admin-page"); /** * External dependencies */ /** * Internal dependencies */ /** * Create a new user account. * * @param {string} username User name. * @param {?Object} object Optional Settings for the new user account. * @param {string} [object.firstName] First name. * @param {string} [object.lastName] Last name. * @param {string} [object.role] Role. Defaults to Administrator. * * @return {string} Password for the newly created user account. */ async function createUser(username, { firstName, lastName, role } = {}) { await (0, _switchUserToAdmin.switchUserToAdmin)(); await (0, _visitAdminPage.visitAdminPage)('user-new.php'); await page.waitForSelector('#user_login', { visible: true }); await page.$eval('#user_login', (el, value) => el.value = value, username); await page.$eval('#email', (el, value) => el.value = value, (0, _changeCase.snakeCase)(username) + '@example.com'); if (firstName) { await page.$eval('#first_name', (el, value) => el.value = value, firstName); } if (lastName) { await page.$eval('#last_name', (el, value) => el.value = value, lastName); } if (role) { await page.select('#role', role); } await page.click('#send_user_notification'); const password = await page.$eval(`#pass1`, element => element.value); await Promise.all([page.click('#createusersub'), page.waitForNavigation({ waitUntil: 'networkidle0' })]); await (0, _switchUserToTest.switchUserToTest)(); return password; } //# sourceMappingURL=create-user.js.map