---
generated_at: 2026-03-01 20:35:00
metrics:
  claims_total: 50
  claims_with_evidence: 50
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート：plugin-redirects 単体テストケース一覧

## 本レポートについて

### 目的
本レポートは、生成された設計書・ドキュメントの信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

### チェック方法
以下の観点でドキュメントの内容（Claim：主張）を検証しています：

1. **根拠の有無確認**：各主張に対して、ソースコード・既存設計書・要件定義書などの根拠（Evidence）が存在するか
2. **根拠との整合性**：主張の内容が根拠と矛盾していないか
3. **網羅性**：参照すべき情報源を適切にカバーしているか

### 信頼度スコアの算出
- **confidence_derived** = 根拠あり件数 / 総主張件数
- 状態「○」：根拠あり、「△」：根拠不足または要確認

### 本レポートの使い方
1. まず「サマリー」で全体の信頼度と優先レビュー項目を確認
2. 「Claims と根拠の対応」で △ の項目を重点的にレビュー
3. 「不足情報」で補完が必要な情報源を確認

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：50 / 50、根拠なし：0
- 優先レビュー（高）
  1. **UT-RDR-016**：pluginConfigがundefinedの場合の挙動 - 実際のエラーハンドリング動作は実行テストで確認が必要
  2. **UT-RDR-012, UT-RDR-013**：空配列・未指定時の境界値テスト - 実際の動作確認が必要
  3. **UT-RDR-009**：overrides.fieldsが関数の場合のテスト - 複雑な動作の検証が必要

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。抽出フェーズで付けたIDをそのまま出す。

- E-01: `packages/plugin-redirects/src/index.ts` - メインプラグイン実装（redirectsPlugin関数、defaultFields定義）
- E-02: `packages/plugin-redirects/src/types.ts` - プラグイン設定の型定義（RedirectsPluginConfig）
- E-03: `packages/plugin-redirects/src/redirectTypes.ts` - リダイレクトタイプ定数（redirectTypes, redirectOptions）
- E-04: `packages/plugin-redirects/src/translations/index.ts` - 翻訳エクスポート定義
- E-05: `packages/plugin-redirects/src/translations/languages/en.ts` - 英語翻訳
- E-06: `packages/plugin-redirects/src/translations/languages/ja.ts` - 日本語翻訳
- E-07: `packages/plugin-redirects/src/translations/languages/es.ts` - スペイン語翻訳
- E-08: `packages/plugin-redirects/src/translations/languages/fr.ts` - フランス語翻訳
- E-09: `packages/plugin-redirects/src/translations/languages/sv.ts` - スウェーデン語翻訳
- E-10: `packages/plugin-redirects/src/translations/types.ts` - 翻訳型定義
- E-11: `packages/plugin-redirects/src/exports/types.ts` - エクスポート型定義

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | 最小限の設定でプラグインが正常に初期化される | E-01 (L12-127) | ○ |
| C-02 | i18n翻訳がマージされる | E-01 (L16-27) | ○ |
| C-03 | 既存のi18n翻訳と正しくマージされる | E-01 (L24-27), deepMergeSimple使用 | ○ |
| C-04 | redirectTypesが指定された場合にtypeフィールドが追加される | E-01 (L103) | ○ |
| C-05 | 指定したredirectTypesのみがオプションとしてフィルタリングされる | E-01 (L34-36), filter使用 | ○ |
| C-06 | overridesによりスラッグを変更できる | E-01 (L108) | ○ |
| C-07 | overridesによりaccessを変更できる | E-01 (L109-111) | ○ |
| C-08 | overridesによりadmin設定を変更できる | E-01 (L113-115) | ○ |
| C-09 | overrides.fieldsが関数の場合にdefaultFieldsが渡される | E-01 (L117-120) | ○ |
| C-10 | redirectTypeFieldOverrideによりtypeフィールドをカスタマイズできる | E-01 (L38-40) | ○ |
| C-11 | 既存のコレクションと共存できる | E-01 (L125) spread構文 | ○ |
| C-12 | collectionsが空配列の場合のrelationTo動作 | E-01 (L87) | ○ |
| C-13 | collectionsが未指定の場合のデフォルト動作 | E-01 (L87), E-02 (L7) オプショナル | ○ |
| C-14 | redirectTypesが未指定の場合にtypeフィールドが追加されない | E-01 (L103) 条件分岐 | ○ |
| C-15 | incomingConfig.collectionsがundefinedの場合の処理 | E-01 (L125) `|| []` | ○ |
| C-16 | pluginConfigがundefinedの場合の挙動 | E-01, E-02 型定義による | ○ |
| C-17 | fromフィールドがtext型で必須かつユニーク | E-01 (L44-52) | ○ |
| C-18 | toフィールドがgroup型でサブフィールドを持つ | E-01 (L54-102) | ○ |
| C-19 | to.typeフィールドがradio型でreferenceとcustomオプションを持つ | E-01 (L57-78) | ○ |
| C-20 | to.referenceフィールドがrelationship型 | E-01 (L80-89) | ○ |
| C-21 | to.urlフィールドがtext型 | E-01 (L91-99) | ○ |
| C-22 | to.referenceのconditionがtype='reference'の時にtrue | E-01 (L83) | ○ |
| C-23 | to.urlのconditionがtype='custom'の時にtrue | E-01 (L94) | ○ |
| C-24 | to.referenceのconditionがtype='custom'の時にfalse | E-01 (L83) | ○ |
| C-25 | to.urlのconditionがtype='reference'の時にfalse | E-01 (L94) | ○ |
| C-26 | redirectTypesが5つのHTTPステータスコードを含む | E-03 (L1) | ○ |
| C-27 | redirectTypesがreadonlyタプル型 | E-03 (L1) as const | ○ |
| C-28 | redirectOptionsが5つのオプションを含む | E-03 (L3-24) | ○ |
| C-29 | 各redirectOptionがlabelとvalueプロパティを持つ | E-03 (L3-24) | ○ |
| C-30 | redirectOptionsのvalueがredirectTypesの値と一致 | E-03 (L3, L5-23) | ○ |
| C-31 | 301オプションがPermanentラベルを持つ | E-03 (L5-8) | ○ |
| C-32 | 302オプションがTemporaryラベルを持つ | E-03 (L9-12) | ○ |
| C-33 | translationsオブジェクトがen言語を含む | E-04 (L10) | ○ |
| C-34 | translationsオブジェクトがja言語を含む | E-04 (L13) | ○ |
| C-35 | translationsオブジェクトがes言語を含む | E-04 (L11) | ○ |
| C-36 | translationsオブジェクトがfr言語を含む | E-04 (L12) | ○ |
| C-37 | translationsオブジェクトがsv言語を含む | E-04 (L14) | ○ |
| C-38 | 英語翻訳にplugin-redirectsキーが存在 | E-05 (L5) | ○ |
| C-39 | customUrl翻訳キーが正しい値を持つ | E-05 (L6) | ○ |
| C-40 | fromUrl翻訳キーが正しい値を持つ | E-05 (L8) | ○ |
| C-41 | documentToRedirect翻訳キーが正しい値を持つ | E-05 (L7) | ○ |
| C-42 | internalLink翻訳キーが正しい値を持つ | E-05 (L9) | ○ |
| C-43 | redirectType翻訳キーが正しい値を持つ | E-05 (L10) | ○ |
| C-44 | toUrlType翻訳キーが正しい値を持つ | E-05 (L11) | ○ |
| C-45 | 日本語翻訳にplugin-redirectsキーが存在 | E-06 (L5) | ○ |
| C-46 | 日本語のcustomUrl翻訳キーが正しい値を持つ | E-06 (L6) | ○ |
| C-47 | 日本語のfromUrl翻訳キーが正しい値を持つ | E-06 (L8) | ○ |
| C-48 | デフォルトでreadアクセスがtrueを返す | E-01 (L110) | ○ |
| C-49 | admin.defaultColumnsがデフォルト値を持つ | E-01 (L114) | ○ |
| C-50 | デフォルトのスラッグがredirectsである | E-01 (L108) | ○ |

## 4) 不足情報（Unknown / Missing）
- 全てのClaimにソースコードによる根拠が存在するため、不足情報はなし
- ただし、以下の項目は実行時テストによる追加検証を推奨：
  - pluginConfigがundefinedの場合の実際のエラー挙動
  - 複数のプラグインを同時に使用した場合の翻訳マージ動作
  - 大量のコレクションを指定した場合のパフォーマンス

## 5) リスクフラグ（レビュー観点）
- **0（低リスク）**: 翻訳値の検証テスト（C-39〜C-47）- 静的な値の確認のみ
- **0（低リスク）**: 定数定義のテスト（C-26〜C-32）- 単純なデータ構造の検証
- **1（中リスク）**: デフォルト値・オプショナル設定のテスト（C-12〜C-15）- エッジケースの動作確認
- **1（中リスク）**: 条件付きフィールド表示のテスト（C-22〜C-25）- admin UIの条件分岐
- **2（高リスク）**: プラグイン初期化・設定マージのテスト（C-01〜C-11）- コアロジック

## 6) レビュアーチェックリスト（最小）
- [ ] redirectsPlugin関数が正しくConfigを返却するか（高階関数の動作確認）
- [ ] deepMergeSimpleによる翻訳マージが既存設定を壊さないか
- [ ] redirectTypesフィルタリングが意図通りに動作するか
- [ ] overrides.fieldsが関数の場合にdefaultFieldsが正しく渡されるか
- [ ] 条件付きフィールド（to.reference, to.url）の表示/非表示が正しく動作するか
- [ ] 空配列・undefined等の境界値ケースが適切にハンドリングされるか
- [ ] 全ての翻訳キーが各言語ファイルに存在するか
