← ClaudeAtlas

smoke-testlisted

Smoke Test — automated test execution for Integration Sprint. Detects test frameworks, runs all tests, performs HTTP smoke testing, optionally runs browser E2E via Playwright MCP, and records results to .scrum/test-results.json.
sohei56/maul-team · ★ 17 · Testing & QA · score 70
Install: claude install-skill sohei56/maul-team
## Inputs - state.json → phase: "integration_sprint" - requirements.md (endpoint/workflow discovery) - Project source code ## Outputs - `.scrum/test-results.json` ## Preconditions - Developer teammate assigned to Integration Sprint testing - ≥1 Development Sprint completed (tests exist) ## Steps ### 1. Record via the wrapper (no manual init) All writes to `.scrum/test-results.json` go through `.scrum/scripts/record-test-result.sh` — direct edits are blocked by the scrum-state guard. The wrapper **creates the file on the first call**, upserts each category by `--name` (re-running a suite after a fix replaces that category's prior result instead of duplicating it), and **recomputes `overall_status` automatically** on every call. No manual initialization step is needed. ### 2. Detect test frameworks Check project root, collect ALL matches: - package.json "test"→`npm test` (unit) - package.json "test:e2e"→`npm run test:e2e` (e2e) - package.json "test:integration"→`npm run test:integration` (integration) - pytest.ini / pyproject.toml [tool.pytest] / tests/*.py→`python -m pytest` (unit) - Cargo.toml→`cargo test` (unit) - go.mod→`go test ./...` (unit) - Makefile test target→`make test` (unit) - tests/*.bats→`bats tests/` (unit) None detected→status: "skipped", runner_command: "none detected" ### 3. Run detected tests Each runner: execute→capture exit code + output→parse pass/fail counts→record the TestCategory via the wrapper: ```bash .scrum/scripts/record-test-result.