---
generated_at: 2026-02-25 02:50:00
metrics:
  claims_total: 33
  claims_with_evidence: 33
  claims_without_evidence: 0
confidence_derived: 1.00
---

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

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：33 / 33、根拠なし：0
- 優先レビュー（高）
  1. **なし**：全テストケースにソースコード根拠あり

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

- E-01: `app/controllers/prompts/tags_controller.rb` - Prompts::TagsController クラス定義（9行）
- E-02: `app/controllers/prompts/users_controller.rb` - Prompts::UsersController クラス定義（9行）
- E-03: `app/controllers/prompts/boards/users_controller.rb` - Prompts::Boards::UsersController クラス定義（11行）
- E-04: `app/controllers/prompts/cards_controller.rb` - Prompts::CardsController クラス定義（39行）
- E-05: `app/controllers/application_controller.rb` - ApplicationController（認証・認可の継承元）
- E-06: `app/controllers/concerns/board_scoped.rb` - BoardScoped concern（set_board メソッド）
- E-07: `docs/code-to-docs/単体テストケース一覧/plan.md` - プロジェクト情報とモジュール定義

## 3) Claims と根拠の対応（レビューの主戦場）

### Prompts::TagsController (UT-PRM-001 - UT-PRM-004)

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | TagsController#indexでCurrent.account.tags.all.alphabeticallyが呼ばれる | E-01 (3行目) | ○ |
| C-02 | stale?メソッドでETagキャッシュが制御される | E-01 (5行目) | ○ |
| C-03 | layout: falseでレンダリングされる | E-01 (6行目) | ○ |
| C-04 | ApplicationControllerを継承し認証が適用される | E-01 (1行目), E-05 | ○ |

### Prompts::UsersController (UT-PRM-005 - UT-PRM-009)

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-05 | UsersController#indexでCurrent.account.users.active.alphabeticallyが呼ばれる | E-02 (3行目) | ○ |
| C-06 | activeスコープでアクティブユーザーのみフィルタされる | E-02 (3行目) | ○ |
| C-07 | alphabeticallyでアルファベット順にソートされる | E-02 (3行目) | ○ |
| C-08 | stale?メソッドでETagキャッシュが制御される | E-02 (5行目) | ○ |
| C-09 | layout: falseでレンダリングされる | E-02 (6行目) | ○ |

### Prompts::Boards::UsersController (UT-PRM-010 - UT-PRM-016)

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-10 | BoardScopedがincludeされている | E-03 (2行目) | ○ |
| C-11 | set_boardでCurrent.user.boards.find(params[:board_id])が呼ばれる | E-06 (10行目) | ○ |
| C-12 | @board.users.active.alphabeticallyでボードユーザーを取得 | E-03 (5行目) | ○ |
| C-13 | 存在しないboard_idでActiveRecord::RecordNotFoundが発生 | E-06 (10行目) findメソッドの標準動作 | ○ |
| C-14 | アクセス権のないボードでRecordNotFoundが発生 | E-06 (10行目) Current.user.boardsスコープ | ○ |
| C-15 | stale?メソッドでETagキャッシュが制御される | E-03 (7行目) | ○ |
| C-16 | layout: falseでレンダリングされる | E-03 (8行目) | ○ |

### Prompts::CardsController (UT-PRM-017 - UT-PRM-033)

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-17 | MAX_RESULTSが10に定義されている | E-04 (2行目) | ○ |
| C-18 | filter_paramが存在する場合はprepending_exact_matches_by_idが呼ばれる | E-04 (5-6行目) | ○ |
| C-19 | filter_paramが存在しない場合はpublished_cards.latestが呼ばれる | E-04 (7-8行目) | ○ |
| C-20 | filter_paramはparams[:filter]を返す | E-04 (17-19行目) | ○ |
| C-21 | search_cardsでmentioning検索が実行される | E-04 (21-26行目) | ○ |
| C-22 | search_cardsでreverse_chronologicallyソートされる | E-04 (24行目) | ○ |
| C-23 | search_cardsでMAX_RESULTS件に制限される | E-04 (25行目) | ○ |
| C-24 | published_cardsでCurrent.user.accessible_cards.publishedが返される | E-04 (28-30行目) | ○ |
| C-25 | prepending_exact_matches_by_idでnumber完全一致カードが先頭に追加される | E-04 (32-38行目) | ○ |
| C-26 | number一致がない場合は元の配列がそのまま返される | E-04 (36行目) | ○ |
| C-27 | stale?メソッドでETagキャッシュが制御される | E-04 (11行目) | ○ |
| C-28 | layout: falseでレンダリングされる | E-04 (12行目) | ○ |
| C-29 | accessible_cardsでアクセス可能なカードのみ取得 | E-04 (29行目, 33行目) | ○ |
| C-30 | publishedスコープで公開済みカードのみ取得 | E-04 (29行目) | ○ |

## 4) 不足情報（Unknown / Missing）
- なし - 全テストケースはソースコードから直接導出されている

**補足事項:**
- `alphabetically` スコープの具体的なソート順序（A-Z または その他）は対象モデルの実装に依存
- `mentioning` メソッドの検索ロジック詳細はCardモデルの実装に依存
- `active` スコープの条件詳細はUserモデルの実装に依存

## 5) リスクフラグ（レビュー観点）
- **0（低リスク）**: 全テストケースがソースコード根拠に基づいている
- **注意点**:
  - ApplicationControllerの認証・認可テスト（UT-PRM-004, 009, 016, 027）は統合テストとの境界に留意
  - プライベートメソッド（filter_param, search_cards, published_cards, prepending_exact_matches_by_id）のテストは公開APIを通じたテストで代替可能

## 6) レビュアーチェックリスト（最小）
- [ ] 全4コントローラファイルがテスト対象としてカバーされているか確認
- [ ] ETagキャッシュ関連テストの必要性をプロジェクト方針に照らして確認
- [ ] プライベートメソッドのテスト方針（直接テスト vs 公開API経由）を確認
- [ ] 認証・認可テストがApplicationControllerのテストと重複していないか確認
- [ ] mentioning, active, alphabeticallyなどのスコープ依存テストの前提条件を確認
