test
Run unit tests across the SEBT monorepo in parallel — all tests, backend only, frontend only, or specific suites (portal, connectors, dc)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Run unit tests across the SEBT monorepo in parallel — all tests, backend only, frontend only, or specific suites (portal, connectors, dc)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Guide for adding, finding, or debugging i18n keys in the SEBT portal. Use when adding new user-facing text, looking up an existing key, or diagnosing a missing/empty translation.
Use when performing git operations (sync, branch, status) across the SEBT repos — switching branches, pulling latest, creating feature branches, or checking repo state
Generate QA test summary from current branch changes for PR handoff
Review code against the SEBT Self-Service Portal conventions. Use when reviewing PRs, cleaning up code, or checking if code follows our Short, Sharp, Simple principles.
Compare running app screens against Figma designs — captures screenshots from both sources and produces a structured gap report
| name | test |
| description | Run unit tests across the SEBT monorepo in parallel — all tests, backend only, frontend only, or specific suites (portal, connectors, dc) |
| allowed-tools | Bash(dotnet test:*), Bash(pnpm test:*) |
Run tests across the SEBT monorepo (portal + in-repo connectors) and the external DC connector in parallel.
# The portal, plugin contract, and CO connector live in this monorepo.
# Only the DC connector is a sibling checkout.
monorepo="$(git rev-parse --show-toplevel)"
dc_connector="$(dirname "$monorepo")/sebt-self-service-portal-dc-connector"
| Suite | Command |
|---|---|
| portal backend | dotnet test $monorepo/apps/portal/test/SEBT.Portal.Tests/SEBT.Portal.Tests.csproj |
| state contract | dotnet test $monorepo/apps/connectors/state/src/SEBT.Portal.StatesPlugins.Interfaces.Tests/SEBT.Portal.StatesPlugins.Interfaces.Tests.csproj |
| co connector | dotnet test $monorepo/apps/connectors/co/src/SEBT.Portal.StatePlugins.CO.Tests/SEBT.Portal.StatePlugins.CO.Tests.csproj |
| dc connector | dotnet test $dc_connector/test/SEBT.Portal.StatePlugins.DC.Tests/SEBT.Portal.StatePlugins.DC.Tests.csproj |
| portal frontend | cd $monorepo/apps/portal/src/SEBT.Portal.Web && pnpm test --run |
| enrollment checker | cd $monorepo/apps/portal/src/SEBT.EnrollmentChecker.Web && pnpm test run |
dotnet test SEBT.slnx from the monorepo root covers the first three backend suites in one
command — prefer the per-project commands above when running suites in parallel or filtering.
Parse the ARGUMENTS string to determine scope. Arguments are combinable.
| Argument | Meaning |
|---|---|
| (none) | Run ALL backend + frontend suites |
backend | All backend suites (portal, state contract, CO, DC) |
frontend | Portal frontend + enrollment checker |
portal | Portal backend + portal frontend |
dc | DC connector backend only |
co | CO connector backend only |
state-connector | State contract backend only |
Combining arguments: /test backend dc = backend tests for the DC connector only.
/test backend portal dc = backend tests for portal and the DC connector.
When frontend is combined with a connector filter (e.g., /test frontend dc), ignore the
connector filter — only the portal apps have frontend tests.
&& or ;.description to clarify, and run: cd <app dir> && pnpm test --run — this is the ONE exception to the no-chaining rule since pnpm needs to run from the project directory.Present a summary table:
| Suite | Result | Tests |
|---|---|---|
| portal backend | PASS | 1320 passed |
| portal frontend | PASS | 18 passed |
| dc connector | PASS | 15 passed |
| ... | ... | ... |
Extract test counts from the command output:
dotnet test: look for "Passed: X" or "Failed: X" in the summary linepnpm test: look for the Vitest summary line with test countsShow the summary table (with FAIL for failing suites), then include the full output for each failing suite below the table so the user can diagnose the issue.