@wordpress/e2e-test-utils
Version:
End-To-End (E2E) test utils for WordPress.
34 lines (33 loc) • 1.04 kB
JavaScript
import { switchUserToAdmin } from "./switch-user-to-admin";
import { switchUserToTest } from "./switch-user-to-test";
import { visitAdminPage } from "./visit-admin-page";
import { isThemeInstalled } from "./theme-installed";
async function installTheme(slug, { searchTerm } = {}) {
await switchUserToAdmin();
const installed = await isThemeInstalled(slug);
if (installed) {
return;
}
await visitAdminPage(
"theme-install.php",
`search=${encodeURIComponent(searchTerm || slug)}`
);
await page.waitForSelector(`div[data-slug="${slug}"]`);
const activateLink = await page.$(
`div[data-slug="${slug}"] .button.activate`
);
if (activateLink) {
await switchUserToTest();
return;
}
await page.waitForSelector(`.theme-install[data-slug="${slug}"]`);
await page.click(`.theme-install[data-slug="${slug}"]`);
await page.waitForSelector(`.theme[data-slug="${slug}"] .activate`, {
timeout: 6e4
});
await switchUserToTest();
}
export {
installTheme
};
//# sourceMappingURL=install-theme.js.map