From umbraco-mcp-skills
Run Playwright E2E tests for the hosted MCP Cloudflare Worker. Use this skill when the user says /run-e2e, "run e2e tests", "run the e2e", "run playwright tests", or wants to test the hosted worker end-to-end. Handles starting Umbraco, building, and running the full test suite.
npx claudepluginhub umbraco/umbraco-mcp-base --plugin umbraco-mcp-skillsThis skill uses the workspace's default tool permissions.
Playwright-based E2E tests that drive the MCP Inspector UI through the full OAuth flow against the real Forms worker (`src/worker.ts`), which includes both Forms tool collections and in-process CMS chaining.
Applies Acme Corporation brand guidelines including colors, fonts, layouts, and messaging to generated PowerPoint, Excel, and PDF documents.
Builds DCF models with sensitivity analysis, Monte Carlo simulations, and scenario planning for investment valuation and risk assessment.
Calculates profitability (ROE, margins), liquidity (current ratio), leverage, efficiency, and valuation (P/E, EV/EBITDA) ratios from financial statements in CSV, JSON, text, or Excel for investment analysis.
Playwright-based E2E tests that drive the MCP Inspector UI through the full OAuth flow against the real Forms worker (src/worker.ts), which includes both Forms tool collections and in-process CMS chaining.
Key files:
tests/forms-hosted-e2e/e2e/mcp-inspector.test.tstests/forms-hosted-e2e/e2e/helpers/worker-setup.tstests/forms-hosted-e2e/wrangler.e2e.toml@umbraco-cms/mcp-hosted/testingdemo-site/ exists (has a .csproj file). If not, tell the user to run npx create-umbraco-mcp-server init.Kill any stale processes on the E2E ports (Umbraco, Worker, Inspector):
npm run kill:e2e-ports
Tell the user which stale processes were found and killed.
Build the worker before running tests:
npm run build
Start Umbraco using the existing npm script with run_in_background: true:
npm run start:umbraco
Then wait for Umbraco to be ready. Run this single bash command which loops until the health check succeeds (up to 120 seconds):
for i in $(seq 1 24); do if curl -sk -o /dev/null -w '%{http_code}' https://localhost:44374 --max-time 5 | grep -q '200\|302'; then echo "Umbraco is ready"; exit 0; fi; echo "Waiting for Umbraco... (attempt $i/24)"; sleep 5; done; echo "Umbraco failed to start within 120s"; exit 1
Tell the user you're waiting for Umbraco to start. If the health check fails after 120 seconds, tell the user and stop.
The Cloudflare Worker and MCP Inspector are started automatically by the test framework (via worker-setup.ts and shared helpers) — no manual setup needed.
Run the tests:
npm run test:e2e
If the user asked for a specific test, use:
npx playwright test --config tests/forms-hosted-e2e/e2e/playwright.config.ts -g "<test-name>"
Useful flags the user may request:
--headed — watch tests in browser--debug — open Playwright InspectorSLOW_MO=500 — slow down browser actionsShow the test results to the user. If tests failed, read the relevant test file and any error output to help diagnose.
Do NOT stop the Umbraco instance after tests — the user may want to run them again or use it for other work. Only stop it if the user explicitly asks.
These must be set up once (not part of the skill flow):
demo-site/ directoryadmin@test.com / SecurePass1234umbraco-mcp-forms-hosted registered in the Umbraco backofficenpx playwright install