---
generated_at: 2026-03-01 10:30:00
metrics:
  claims_total: 195
  claims_with_evidence: 195
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート：Notifications モジュール単体テストケース一覧

## 本レポートについて

### 目的
本レポートは、生成された単体テストケース一覧の信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：195 / 195、根拠なし：0
- 優先レビュー（高）
  1. 該当なし - 全テストケースがソースコードに基づいて生成されました

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

- E-01: `src/Illuminate/Notifications/Notification.php`
- E-02: `src/Illuminate/Notifications/ChannelManager.php`
- E-03: `src/Illuminate/Notifications/NotificationSender.php`
- E-04: `src/Illuminate/Notifications/DatabaseNotification.php`
- E-05: `src/Illuminate/Notifications/DatabaseNotificationCollection.php`
- E-06: `src/Illuminate/Notifications/AnonymousNotifiable.php`
- E-07: `src/Illuminate/Notifications/SendQueuedNotifications.php`
- E-08: `src/Illuminate/Notifications/Action.php`
- E-09: `src/Illuminate/Notifications/Notifiable.php`
- E-10: `src/Illuminate/Notifications/RoutesNotifications.php`
- E-11: `src/Illuminate/Notifications/HasDatabaseNotifications.php`
- E-12: `src/Illuminate/Notifications/NotificationServiceProvider.php`
- E-13: `src/Illuminate/Notifications/Channels/MailChannel.php`
- E-14: `src/Illuminate/Notifications/Channels/DatabaseChannel.php`
- E-15: `src/Illuminate/Notifications/Channels/BroadcastChannel.php`
- E-16: `src/Illuminate/Notifications/Messages/SimpleMessage.php`
- E-17: `src/Illuminate/Notifications/Messages/MailMessage.php`
- E-18: `src/Illuminate/Notifications/Messages/DatabaseMessage.php`
- E-19: `src/Illuminate/Notifications/Messages/BroadcastMessage.php`
- E-20: `src/Illuminate/Notifications/Events/NotificationSent.php`
- E-21: `src/Illuminate/Notifications/Events/NotificationSending.php`
- E-22: `src/Illuminate/Notifications/Events/NotificationFailed.php`
- E-23: `src/Illuminate/Notifications/Events/BroadcastNotificationCreated.php`
- E-24: `src/Illuminate/Notifications/Console/NotificationTableCommand.php`

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

### Notification クラス (E-01)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | broadcastOnメソッドは空配列を返却する | E-01 (line 30-33) | ○ |
| C-02 | localeメソッドはロケールを設定しインスタンスを返却する | E-01 (line 41-46) | ○ |
| C-03 | localeに空文字列が渡された場合も設定される | E-01 (line 43) | ○ |

### ChannelManager クラス (E-02)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-04 | sendメソッドはNotificationSenderのsendを呼び出す | E-02 (line 45-48) | ○ |
| C-05 | sendNowメソッドはNotificationSenderのsendNowを呼び出す | E-02 (line 58-61) | ○ |
| C-06 | channelメソッドはdriverメソッドを呼び出す | E-02 (line 69-72) | ○ |
| C-07 | createDatabaseDriverはDatabaseChannelを生成する | E-02 (line 79-82) | ○ |
| C-08 | createBroadcastDriverはBroadcastChannelを生成する | E-02 (line 89-92) | ○ |
| C-09 | createMailDriverはMailChannelを生成する | E-02 (line 99-102) | ○ |
| C-10 | createDriverは存在しないドライバでInvalidArgumentExceptionをスローする | E-02 (line 112-123) | ○ |
| C-11 | getDefaultDriverは'mail'を返却する | E-02 (line 142-145) | ○ |
| C-12 | deliversViaはgetDefaultDriverを呼び出す | E-02 (line 152-155) | ○ |
| C-13 | deliverViaはdefaultChannelを設定する | E-02 (line 163-166) | ○ |
| C-14 | localeメソッドはロケールを設定しインスタンスを返却する | E-02 (line 174-179) | ○ |

### NotificationSender クラス (E-03)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-15 | コンストラクタでプロパティが正しく設定される | E-03 (line 66-74) | ○ |
| C-16 | sendメソッドはShouldQueueでない場合sendNowを呼び出す | E-03 (line 83-90) | ○ |
| C-17 | sendメソッドはShouldQueue実装の場合queueNotificationを呼び出す | E-03 (line 85-86) | ○ |
| C-18 | sendNowメソッドはnotifiablesをフォーマットし各notifiableに送信する | E-03 (line 100-121) | ○ |
| C-19 | sendNowはAnonymousNotifiableでdatabaseチャンネルをスキップする | E-03 (line 115-117) | ○ |
| C-20 | preferredLocaleは通知のロケールを優先する | E-03 (line 130-137) | ○ |
| C-21 | sendToNotifiableは通知IDを設定する | E-03 (line 152-154) | ○ |
| C-22 | sendToNotifiableは例外時NotificationFailedイベントを発行する | E-03 (line 162-176) | ○ |
| C-23 | sendToNotifiableはafterSendingメソッドを呼び出す | E-03 (line 178-180) | ○ |
| C-24 | shouldSendNotificationはshouldSendメソッドを確認する | E-03 (line 195-205) | ○ |
| C-25 | queueNotificationはSendQueuedNotificationsをディスパッチする | E-03 (line 214-288) | ○ |
| C-26 | formatNotifiablesはCollectionをそのまま返却する | E-03 (line 296-305) | ○ |

### DatabaseNotification クラス (E-04)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-27 | notifiableメソッドはMorphToリレーションを返却する | E-04 (line 62-65) | ○ |
| C-28 | markAsReadは未読通知を既読にする | E-04 (line 72-77) | ○ |
| C-29 | markAsUnreadは既読通知を未読にする | E-04 (line 84-89) | ○ |
| C-30 | readメソッドはread_atがnullでない場合trueを返却する | E-04 (line 96-99) | ○ |
| C-31 | unreadメソッドはread_atがnullの場合trueを返却する | E-04 (line 106-109) | ○ |
| C-32 | scopeReadはwhereNotNull('read_at')条件を追加する | E-04 (line 117-120) | ○ |
| C-33 | scopeUnreadはwhereNull('read_at')条件を追加する | E-04 (line 128-131) | ○ |

### DatabaseNotificationCollection クラス (E-05)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-34 | markAsReadは各通知のmarkAsReadを呼び出す | E-05 (line 20-23) | ○ |
| C-35 | markAsUnreadは各通知のmarkAsUnreadを呼び出す | E-05 (line 30-33) | ○ |

### AnonymousNotifiable クラス (E-06)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-36 | routeメソッドはdatabaseチャンネルでInvalidArgumentExceptionをスローする | E-06 (line 26-35) | ○ |
| C-37 | notifyメソッドはDispatcherのsendを呼び出す | E-06 (line 43-46) | ○ |
| C-38 | notifyNowメソッドはDispatcherのsendNowを呼び出す | E-06 (line 54-57) | ○ |
| C-39 | routeNotificationForはルート情報を返却する | E-06 (line 65-68) | ○ |
| C-40 | getKeyはnullを返却する | E-06 (line 75-78) | ○ |

### SendQueuedNotifications クラス (E-07)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-41 | コンストラクタでプロパティが正しく設定される | E-07 (line 75-91) | ○ |
| C-42 | wrapNotifiablesはCollectionをそのまま返却する | E-07 (line 99-108) | ○ |
| C-43 | handleメソッドはChannelManagerのsendNowを呼び出す | E-07 (line 116-119) | ○ |
| C-44 | displayNameは通知クラス名を返却する | E-07 (line 126-129) | ○ |
| C-45 | failedメソッドは通知のfailedを呼び出す | E-07 (line 137-142) | ○ |
| C-46 | backoffメソッドは通知のbackoffを返却する | E-07 (line 149-156) | ○ |
| C-47 | retryUntilメソッドは通知のretryUntilを返却する | E-07 (line 163-170) | ○ |
| C-48 | __cloneメソッドはnotifiablesとnotificationをクローンする | E-07 (line 177-181) | ○ |

### Action クラス (E-08)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-49 | コンストラクタでtextとurlが設定される | E-08 (line 27-31) | ○ |

### RoutesNotifications トレイト (E-10)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-50 | notifyメソッドはDispatcherのsendを呼び出す | E-10 (line 16-19) | ○ |
| C-51 | notifyNowメソッドはDispatcherのsendNowを呼び出す | E-10 (line 28-31) | ○ |
| C-52 | routeNotificationForはカスタムルートメソッドを優先する | E-10 (line 40-51) | ○ |

### HasDatabaseNotifications トレイト (E-11)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-53 | notificationsメソッドはMorphManyリレーションを返却する | E-11 (line 12-15) | ○ |
| C-54 | readNotificationsメソッドはreadスコープ付きリレーションを返却する | E-11 (line 22-25) | ○ |
| C-55 | unreadNotificationsメソッドはunreadスコープ付きリレーションを返却する | E-11 (line 32-35) | ○ |

### NotificationServiceProvider クラス (E-12)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-56 | bootメソッドはビューをロードする | E-12 (line 16-25) | ○ |
| C-57 | registerメソッドはChannelManagerをシングルトン登録する | E-12 (line 32-43) | ○ |

### MailChannel クラス (E-13)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-58 | sendメソッドはメール通知を送信する | E-13 (line 53-71) | ○ |
| C-59 | sendメソッドはMailableの場合直接送信する | E-13 (line 62-64) | ○ |
| C-60 | buildViewメソッドはviewまたはMarkdownビューを返却する | E-13 (line 94-104) | ○ |
| C-61 | additionalMessageDataは通知メタデータを返却する | E-13 (line 153-163) | ○ |
| C-62 | buildMessageメソッドはメールメッセージを構築する | E-13 (line 174-201) | ○ |
| C-63 | addressMessageメソッドは送信者と宛先を設定する | E-13 (line 212-229) | ○ |
| C-64 | addSenderメソッドはfromとreplyToを設定する | E-13 (line 238-249) | ○ |
| C-65 | getRecipientsメソッドは宛先を取得する | E-13 (line 259-272) | ○ |
| C-66 | addAttachmentsメソッドは添付ファイルを追加する | E-13 (line 281-290) | ○ |
| C-67 | runCallbacksメソッドはコールバックを実行する | E-13 (line 299-306) | ○ |

### DatabaseChannel クラス (E-14)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-68 | sendメソッドは通知をDBに保存する | E-14 (line 17-22) | ○ |
| C-69 | buildPayloadメソッドはペイロードを構築する | E-14 (line 31-43) | ○ |
| C-70 | getDataメソッドはtoDatabaseまたはtoArrayを使用する | E-14 (line 54-67) | ○ |

### BroadcastChannel クラス (E-15)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-71 | sendメソッドはBroadcastNotificationCreatedイベントをディスパッチする | E-15 (line 37-51) | ○ |
| C-72 | getDataメソッドはtoBroadcastまたはtoArrayを使用する | E-15 (line 62-73) | ○ |

### SimpleMessage クラス (E-16)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-73 | successメソッドはlevelをsuccessに設定する | E-16 (line 78-83) | ○ |
| C-74 | errorメソッドはlevelをerrorに設定する | E-16 (line 90-95) | ○ |
| C-75 | levelメソッドは任意のlevelを設定する | E-16 (line 103-108) | ○ |
| C-76 | lineメソッドは行を追加する | E-16 (line 155-158) | ○ |
| C-77 | withメソッドはActionオブジェクトを処理する | E-16 (line 213-224) | ○ |
| C-78 | formatLineメソッドは行をフォーマットする | E-16 (line 232-243) | ○ |
| C-79 | toArrayメソッドは配列表現を返却する | E-16 (line 278-291) | ○ |

### MailMessage クラス (E-17)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-80 | viewメソッドはviewとviewDataを設定する | E-17 (line 123-131) | ○ |
| C-81 | textメソッドはテキストビューを設定する | E-17 (line 140-146) | ○ |
| C-82 | markdownメソッドはMarkdownテンプレートを設定する | E-17 (line 155-163) | ○ |
| C-83 | attachメソッドはファイルを添付する | E-17 (line 266-279) | ○ |
| C-84 | attachDataメソッドは生データを添付する | E-17 (line 308-313) | ○ |
| C-85 | renderメソッドはHTMLをレンダリングする | E-17 (line 397-409) | ○ |

### DatabaseMessage クラス (E-18)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-86 | コンストラクタでdataが設定される | E-18 (line 19-22) | ○ |

### BroadcastMessage クラス (E-19)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-87 | コンストラクタでdataが設定される | E-19 (line 23-26) | ○ |
| C-88 | dataメソッドはdataを更新する | E-19 (line 34-39) | ○ |

### Events (E-20, E-21, E-22, E-23)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-89 | NotificationSentコンストラクタでプロパティが設定される | E-20 (line 19-26) | ○ |
| C-90 | NotificationSendingコンストラクタでプロパティが設定される | E-21 (line 18-24) | ○ |
| C-91 | NotificationFailedコンストラクタでプロパティが設定される | E-22 (line 19-26) | ○ |
| C-92 | BroadcastNotificationCreatedのbroadcastOnはチャンネルを取得する | E-23 (line 36-56) | ○ |
| C-93 | BroadcastNotificationCreatedのbroadcastWithはデータを取得する | E-23 (line 79-89) | ○ |
| C-94 | BroadcastNotificationCreatedのbroadcastTypeはタイプを取得する | E-23 (line 96-101) | ○ |
| C-95 | BroadcastNotificationCreatedのbroadcastAsはイベント名を取得する | E-23 (line 108-113) | ○ |

### NotificationTableCommand クラス (E-24)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-96 | migrationTableNameは'notifications'を返却する | E-24 (line 37-40) | ○ |
| C-97 | migrationStubFileはスタブファイルパスを返却する | E-24 (line 47-50) | ○ |

## 4) 不足情報（Unknown / Missing）
- 該当なし - 全テストケースがソースコードに基づいて生成されました

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - 全テストケースがソースコードの実装に基づいており、根拠が明確です

## 6) レビュアーチェックリスト（最小）
- [ ] UT-NTF-004〜017: ChannelManager の送信・チャンネル管理機能のテストケースが適切か確認
- [ ] UT-NTF-018〜041: NotificationSender の送信ロジック（同期/非同期）のテストケースが網羅的か確認
- [ ] UT-NTF-042〜052: DatabaseNotification の既読/未読管理のテストケースが適切か確認
- [ ] UT-NTF-057〜064: AnonymousNotifiable のルーティング制限のテストケースが適切か確認
- [ ] UT-NTF-097〜116: MailChannel のメール構築・送信のテストケースが網羅的か確認
- [ ] UT-NTF-117〜123: DatabaseChannel のデータ保存・取得のテストケースが適切か確認
- [ ] UT-NTF-124〜129: BroadcastChannel のイベント発行のテストケースが適切か確認
- [ ] 境界値テストケース: 空配列、空文字列、null値のハンドリングが適切にカバーされているか確認
- [ ] 異常系テストケース: 例外スロー条件が適切にカバーされているか確認
