概要
Phase 6 のチーム向け機能(共有設定、インデックス共有、status拡張)を通したE2E統合テストを作成する。
注: マルチリポジトリ横断検索(Issue #78)は未実装のため、本Issueのスコープから除外する。
テストの位置づけ
- 既存テスト: 個別機能の単体・結合テスト(cli_export, cli_import, cli_status, e2e_verify等)
- 本Issue: チーム運用シナリオを通した統合フローテスト(複数機能の連携を検証)
テストシナリオ
- 共有設定フルフロー:
commandindex.toml に search.default_limit=5 を設定 → index → config show で設定反映を確認
- 設定優先順位:
config.local.toml > commandindex.toml > デフォルト の3段階優先順位を検証(環境変数オーバーライドはload_configに未実装のため対象外)
- config show: 有効設定の表示(APIキーのマスク確認を含む)
- インデックスエクスポート/インポート: index → export → clean → import → search が動作する(export/importは
--pathオプション未対応のためcurrent_dir切替で対応)
- status --verify: インデックスの整合性チェック
- status --detail: 詳細統計情報(coverage/staleness/storage)の表示
- status --format json: JSON出力フォーマット検証
テスト環境の前提
- 各テストは
tempfile::tempdir() で独立した一時ディレクトリを使用
- 必要に応じてGit初期化(staleness情報テスト用)
- テスト間の依存関係なし(独立実行可能)
- テストファイルは
tests/e2e_team_workflow.rs にまとめる(テストバイナリ数の増加を抑制)
テストヘルパーの拡張
tests/common/mod.rs に以下のヘルパーを追加:
write_commandindex_toml(): チーム共有設定ファイル作成
write_config_local_toml(): ローカル設定ファイル作成
init_git_repo(): Git初期化(staleness情報テスト用)
既存テストとの関係
tests/e2e_export_import.rs (2テスト): 基本的なexport/importフロー → 本Issueではsearch連携の統合フローを追加
tests/e2e_verify.rs (4テスト): verify基本テスト → 本Issueでは重複しない範囲でE2Eフローに組み込み
tests/cli_status.rs (26テスト): status単体テスト → 本IssueではCLI経由のE2E統合テストを追加
tests/cli_export.rs (6テスト), tests/cli_import.rs (9テスト): 単体テスト
受け入れ基準
依存 Issue
概要
Phase 6 のチーム向け機能(共有設定、インデックス共有、status拡張)を通したE2E統合テストを作成する。
テストの位置づけ
テストシナリオ
commandindex.tomlにsearch.default_limit=5を設定 → index →config showで設定反映を確認config.local.toml > commandindex.toml > デフォルトの3段階優先順位を検証(環境変数オーバーライドはload_configに未実装のため対象外)--pathオプション未対応のためcurrent_dir切替で対応)テスト環境の前提
tempfile::tempdir()で独立した一時ディレクトリを使用tests/e2e_team_workflow.rsにまとめる(テストバイナリ数の増加を抑制)テストヘルパーの拡張
tests/common/mod.rsに以下のヘルパーを追加:write_commandindex_toml(): チーム共有設定ファイル作成write_config_local_toml(): ローカル設定ファイル作成init_git_repo(): Git初期化(staleness情報テスト用)既存テストとの関係
tests/e2e_export_import.rs(2テスト): 基本的なexport/importフロー → 本Issueではsearch連携の統合フローを追加tests/e2e_verify.rs(4テスト): verify基本テスト → 本Issueでは重複しない範囲でE2Eフローに組み込みtests/cli_status.rs(26テスト): status単体テスト → 本IssueではCLI経由のE2E統合テストを追加tests/cli_export.rs(6テスト),tests/cli_import.rs(9テスト): 単体テスト受け入れ基準
依存 Issue
[Feature] マルチリポジトリ横断検索 #78 マルチリポジトリ横断検索(未実装・スコープ外)