@wordpress/e2e-test-utils
Version:
End-To-End (E2E) test utils for WordPress.
49 lines (48 loc) • 1.29 kB
JavaScript
import { snakeCase } from "change-case";
import { switchUserToAdmin } from "./switch-user-to-admin";
import { switchUserToTest } from "./switch-user-to-test";
import { visitAdminPage } from "./visit-admin-page";
async function createUser(username, { firstName, lastName, role } = {}) {
await switchUserToAdmin();
await 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,
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 switchUserToTest();
return password;
}
export {
createUser
};
//# sourceMappingURL=create-user.js.map