activeloopai / activeloopai/hivemind

test: move shared-module tests out of tests/claude-code/ into tests/shared/

未关闭
#186 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
TypeScript
星标
1.6k
派生
107
平均合并
17 小时 30 分钟
30 天内合并 PR
6

描述

## 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.

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。