activeloopai / activeloopai/hivemind
test: move shared-module tests out of tests/claude-code/ into tests/shared/
- Langage dominant
- TypeScript
- Étoiles
- 1.6k
- Forks
- 107
- Merge moyen
- 17 h 30 min
- PR mergées (30 j)
- 6
Description
## Context
`tests/claude-code/` is currently the de-facto catch-all for tests of non-agent-specific `src/` modules. The directory name is historical and misleading: a contributor looking for, say, `deeplake-api` coverage shouldn't have to guess that "claude-code" means "default bucket for everything shared."
PR #183 introduced `tests/shared/` as the correct destination for new shared-module tests and moved `standalone-embed-client.test.ts` there as a first step. This issue tracks moving the rest.
## Why now
- The naming actively misleads new contributors.
- Code-coverage reports group test files by directory; everything currently looks "claude-code coverage" when half of it is shared infra.
- Per-agent test dirs (`tests/codex/`, `tests/cursor/`, `tests/hermes/`, `tests/openclaw/`, `tests/pi/`) already work the way the convention implies.
## Out of scope for PR #183
This is a large mechanical rename touching ~30 files plus CI/IDE/coverage config. It deserves its own PR, not a drive-by inside an embeddings PR.
## Files to move (snapshot at `feat/openclaw-embed-producer-178`)
Tests of `src/` modules that have no claude-code specificity:
**auth / api / config:**
- `auth-creds.test.ts`
- `auth-login-dispatch.test.ts`
- `auth.test.ts`
- `config.test.ts`
- `debug.test.ts`
- `deeplake-api-balance-exhausted.test.ts`
- `deeplake-api-retry.test.ts`
- `deeplake-api.test.ts`
**embeddings (all of `src/embeddings/*`):**
- `embedding-sql.test.ts`
- `embeddings-bundle-scan.test.ts`
- `embeddings-client.test.ts`
- `embeddings-daemon.test.ts`
- `embeddings-disable.test.ts`
- `embeddings-nomic.test.ts`
- `embeddings-schema.test.ts`
- `embeddings-self-heal.test.ts`
**grep / search:**
- `grep-core.test.ts`
- `grep-direct.test.ts`
- `grep-interceptor.test.ts`
**mine-local / skillify:**
- `mine-local-helpers.test.ts`
- `mine-local-orchestrator.test.ts`
- `local-manifest.test.ts`
- `local-source.test.ts`
**notifications:**
- `notifications-coverage.test.ts`
- `notifications-org-stats-source.test.ts`
- `notifications-primary-banner.test.ts`
- `notifications-queue-lock.test.ts`
- `notifications-transcript-parser.test.ts`
- `notifications-usage-tracker.test.ts`
- `notifications.test.ts`
**other shared:**
- `bash-command-compiler.test.ts`
- `deeplake-fs.test.ts`
- `index-marker-store.test.ts`
- `mcp-server.test.ts`
- `output-cap.test.ts`
- `plugin-cache.test.ts`
- `plugin-cache-gc.test.ts`
- `plugin-version-resolution.test.ts`
- `query-cache.test.ts`
- `user-config.test.ts`
Roughly 30+ files.
## Files to KEEP in `tests/claude-code/`
Tests of claude-code-specific hooks / bundles:
- `capture.test.ts`, `capture-hook.test.ts` (claude-code SessionStart capture)
- `pre-tool-use*.test.ts` (claude-code PreToolUse hook)
- `session-start*.test.ts`, `session-end*.test.ts`
- `*-bundle*.test.ts` (claude-code/bundle artifacts)
- `autoupdate.test.ts` (claude-code-specific autoupdate path)
- `periodic-summary-bundles.test.ts` (claude-code wiki-worker bundle)
- `plugin-cache-bundles.test.ts`, `plugin-cache-gc-bundle.integration.test.ts`
- `wiki-worker-*.test.ts`
- `skillify-*.test.ts` (claude-code-specific skillify wiring)
The exact partition needs a careful pass — some files at the boundary (e.g. `index-marker-store.test.ts`) may need `git log` inspection to decide.
## Suggested approach
1. One PR, no behavior change.
2. Use `git mv` so blame survives.
3. Update `vitest.config.ts` include glob (remove `tests/claude-code/**` or keep both? — decide after the move shows what's actually left in `tests/claude-code/`).
4. Update any path refs in docs / source comments (e.g. PR #183 had one in `pi/extension-source/hivemind.ts`).
5. Verify `npm test` count matches before/after exactly.
6. Update `vitest.config.ts` per-file coverage thresholds — paths in the `thresholds:` block are `src/...` so they don't move, but double-check nothing references test paths.
## Related
- PR #183 introduced `tests/shared/` and moved `standalone-embed-client.test.ts` (one file). This issue tracks the rest.
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Évaluation
Cette issue n'a pas encore été évaluée.