mcpField
U
umbraco-skill-test-runner

umbraco-skill-test-runner

github.com/umbracoTesting & quality27376 installsUpdated 6w ago
Repository

About umbraco-skill-test-runner

A runner for testing skill examples, intended for developers validating Umbraco skills. It runs unit, mocked integration, and end-to-end tests, then writes a JSON report to the project root.

Key features

  1. 01Run unit, mocked, and E2E tests
  2. 02Use Web Test Runner and Playwright
  3. 03Automatically start Umbraco when needed
  4. 04Generate a JSON test report

Use cases

  1. 01Validate component and integration tests in skill examples
  2. 02Run end-to-end tests against Umbraco

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/umbraco/umbraco-cms-backoffice-skills --skill umbraco-skill-test-runner

After installing, type/umbraco-skill-test-runnerin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

scripts/
package-lock.json
package.json
run-tests.ts

Details

From the project README

Skill Test Runner

Runs all tests from skill examples (unit, mocked, E2E) and outputs a JSON report.

Usage

cd .claude/skills/umbraco-skill-test-runner/scripts
npm install --silent
npx tsx run-tests.ts

Test Types

TypeDescriptionRunner
UnitComponent tests with @open-wc/testingWeb Test Runner
MockedIntegration tests against mocked backofficePlaywright
E2EFull end-to-end against real UmbracoPlaywright

Environment Variables

VariableDefaultDescription
UMBRACO_USER_LOGIN-Admin email for E2E authentication
UMBRACO_USER_PASSWORD-Admin password for E2E authentication
UMBRACO_URLhttps://localhost:44325Umbraco instance URL

Auto-Start Umbraco

If E2E tests are needed and Umbraco is not running, the script will automatically:

  1. Start Umbraco from ./Umbraco-CMS.Skills/ using dotnet run
  2. Wait for the instance to be ready
  3. Run E2E tests
  4. Stop Umbraco when done (if it was started by the script)

Output

Generates test-report.json in the project root with structure:

{
  "timestamp": "2024-12-26T12:00:00Z",
  "umbracoStarted": true,
  "summary": {
    "total": 10,
    "passed": 8,
    "failed": 1,
    "skipped": 1
  },
  "results": [
    {
      "example": "counter-dashboard",
      "path": "plugins/umbraco-testing-skills/.../counter-dashboard",
      "type": "unit",
      "status": "passed",
      "duration": 1234
    }
  ]
}

Integration

This skill is Phase 3 of the validate-skills command, running after:

  1. Link validation (umbraco-skill-validator)
  2. Code analysis (umbraco-skill-code-analyzer)

Comments

Markdown supported