UNPKG

@wordpress/e2e-test-utils

Version:
79 lines (78 loc) 2.67 kB
import { canvas, visitAdminPage } from "@wordpress/e2e-test-utils"; import { addQueryArgs } from "@wordpress/url"; const SELECTORS = { visualEditor: ".edit-site-visual-editor iframe", canvasLoader: ".edit-site-canvas-loader" }; async function disableSiteEditorWelcomeGuide() { await page.evaluate(() => { window.wp.data.dispatch("core/preferences").set("core/edit-site", "welcomeGuide", false); window.wp.data.dispatch("core/preferences").set("core/edit-site", "welcomeGuideStyles", false); window.wp.data.dispatch("core/preferences").set("core/edit-site", "welcomeGuidePage", false); window.wp.data.dispatch("core/preferences").set("core/edit-site", "welcomeGuideTemplate", false); }); } function getCurrentSiteEditorContent() { return page.evaluate(() => { const postId = window.wp.data.select("core/editor").getCurrentPostId(); const postType = window.wp.data.select("core/editor").getCurrentPostType(); const record = window.wp.data.select("core").getEditedEntityRecord("postType", postType, postId); if (record) { if (typeof record.content === "function") { return record.content(record); } else if (record.blocks) { return window.wp.blocks.__unstableSerializeAndClean( record.blocks ); } else if (record.content) { return record.content; } } return ""; }); } async function visitSiteEditor(query, skipWelcomeGuide = true) { query = addQueryArgs("", { ...query }).slice(1); await visitAdminPage("site-editor.php", query); await page.waitForSelector(SELECTORS.visualEditor); await page.waitForSelector(SELECTORS.canvasLoader, { hidden: true }); if (skipWelcomeGuide) { await disableSiteEditorWelcomeGuide(); } } async function toggleGlobalStyles() { await page.click('.editor-header__settings button[aria-label="Styles"]'); } async function openGlobalStylesPanel(panelName) { const selector = `//div[@aria-label="Editor settings"]//button[.//*[text()="${panelName}"]]`; await (await page.waitForXPath(selector)).click(); } async function openPreviousGlobalStylesPanel() { await page.click( 'div[aria-label="Editor settings"] button[aria-label="Back"]' ); } async function enterEditMode() { try { await page.waitForSelector( '.edit-site-visual-editor__editor-canvas[role="button"]', { timeout: 3e3 } ); await canvas().click("body"); } catch { } } export { disableSiteEditorWelcomeGuide, enterEditMode, getCurrentSiteEditorContent, openGlobalStylesPanel, openPreviousGlobalStylesPanel, toggleGlobalStyles, visitSiteEditor }; //# sourceMappingURL=site-editor.js.map