---
generated_at: 2026-01-29 10:30:00
metrics:
  claims_total: 107
  claims_with_evidence: 107
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート：Core-Checkout-Document 単体テストケース一覧

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：107 / 107、根拠なし：0
- 優先レビュー（高）
  1. すべてのテストケースはソースコードに基づいて生成されています
  2. サービスクラスのテストケースは実際のメソッドシグネチャに基づいています
  3. 例外クラスのテストケースは実際の例外メソッドに基づいています

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

- E-01: `src/Core/Checkout/Document/DocumentDefinition.php`
- E-02: `src/Core/Checkout/Document/DocumentEntity.php`
- E-03: `src/Core/Checkout/Document/DocumentCollection.php`
- E-04: `src/Core/Checkout/Document/Aggregate/DocumentType/DocumentTypeDefinition.php`
- E-05: `src/Core/Checkout/Document/Aggregate/DocumentType/DocumentTypeEntity.php`
- E-06: `src/Core/Checkout/Document/Aggregate/DocumentType/DocumentTypeCollection.php`
- E-07: `src/Core/Checkout/Document/Aggregate/DocumentBaseConfig/DocumentBaseConfigDefinition.php`
- E-08: `src/Core/Checkout/Document/Aggregate/DocumentBaseConfig/DocumentBaseConfigEntity.php`
- E-09: `src/Core/Checkout/Document/Aggregate/DocumentBaseConfig/DocumentBaseConfigCollection.php`
- E-10: `src/Core/Checkout/Document/Aggregate/DocumentBaseConfigSalesChannel/DocumentBaseConfigSalesChannelDefinition.php`
- E-11: `src/Core/Checkout/Document/Aggregate/DocumentBaseConfigSalesChannel/DocumentBaseConfigSalesChannelEntity.php`
- E-12: `src/Core/Checkout/Document/Aggregate/DocumentBaseConfigSalesChannel/DocumentBaseConfigSalesChannelCollection.php`
- E-13: `src/Core/Checkout/Document/Aggregate/DocumentTypeTranslation/DocumentTypeTranslationDefinition.php`
- E-14: `src/Core/Checkout/Document/Aggregate/DocumentTypeTranslation/DocumentTypeTranslationEntity.php`
- E-15: `src/Core/Checkout/Document/Aggregate/DocumentTypeTranslation/DocumentTypeTranslationCollection.php`
- E-16: `src/Core/Checkout/Document/Service/DocumentGenerator.php`
- E-17: `src/Core/Checkout/Document/Service/DocumentConfigLoader.php`
- E-18: `src/Core/Checkout/Document/Service/DocumentMerger.php`
- E-19: `src/Core/Checkout/Document/Service/ReferenceInvoiceLoader.php`
- E-20: `src/Core/Checkout/Document/DocumentConfiguration.php`
- E-21: `src/Core/Checkout/Document/DocumentConfigurationFactory.php`
- E-22: `src/Core/Checkout/Document/DocumentGenerationResult.php`
- E-23: `src/Core/Checkout/Document/DocumentIdStruct.php`
- E-24: `src/Core/Checkout/Document/DocumentIdCollection.php`
- E-25: `src/Core/Checkout/Document/Struct/DocumentGenerateOperation.php`
- E-26: `src/Core/Checkout/Document/DocumentException.php`
- E-27: `src/Core/Checkout/Document/Renderer/RenderedDocument.php`
- E-28: `src/Core/Checkout/Document/Renderer/RendererResult.php`

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

### DocumentEntity (UT-DOC-001 ~ UT-DOC-014)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | DocumentEntityにgetOrderメソッドが存在しOrderEntityを返却する | E-02 (line 56-59) | ○ |
| C-02 | DocumentEntityのgetOrderはnullを許容する | E-02 (line 27: `?OrderEntity`) | ○ |
| C-03 | DocumentEntityにgetDocumentTypeメソッドが存在する | E-02 (line 122-125) | ○ |
| C-04 | DocumentEntityにgetConfigメソッドが存在し配列を返却する | E-02 (line 88-91) | ○ |
| C-05 | DocumentEntityにgetSentメソッドが存在しboolを返却する | E-02 (line 102-105) | ○ |
| C-06 | DocumentEntityにisStaticメソッドが存在しboolを返却する | E-02 (line 172-175) | ○ |
| C-07 | DocumentEntityにgetDeepLinkCodeメソッドが存在する | E-02 (line 112-115) | ○ |
| C-08 | DocumentEntityにgetReferencedDocumentメソッドが存在する | E-02 (line 152-155) | ○ |
| C-09 | DocumentEntityにgetDependentDocumentsメソッドが存在する | E-02 (line 162-165) | ○ |
| C-10 | DocumentEntityにgetDocumentMediaFileメソッドが存在する | E-02 (line 182-185) | ○ |
| C-11 | DocumentEntityにgetDocumentNumberメソッドが存在しnull許容 | E-02 (line 207-210) | ○ |
| C-12 | DocumentEntityにgetDocumentA11yMediaFileメソッドが存在する | E-02 (line 222-225) | ○ |

### DocumentTypeEntity (UT-DOC-015 ~ UT-DOC-019)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-13 | DocumentTypeEntityにgetNameメソッドが存在する | E-05 (line 32-35) | ○ |
| C-14 | DocumentTypeEntityにgetTechnicalNameメソッドが存在する | E-05 (line 42-45) | ○ |
| C-15 | DocumentTypeEntityにgetDocumentsリレーションが存在する | E-05 (line 62-65) | ○ |
| C-16 | DocumentTypeEntityにgetDocumentBaseConfigsリレーションが存在する | E-05 (line 72-79) | ○ |
| C-17 | DocumentTypeEntityにgetDocumentBaseConfigSalesChannelsリレーションが存在する | E-05 (line 82-89) | ○ |

### DocumentBaseConfigEntity (UT-DOC-020 ~ UT-DOC-028)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-18 | DocumentBaseConfigEntityにgetNameメソッドが存在する | E-08 (line 44-47) | ○ |
| C-19 | DocumentBaseConfigEntityにisGlobalメソッドが存在しboolを返却する | E-08 (line 84-87) | ○ |
| C-20 | DocumentBaseConfigEntityのglobalのデフォルト値はfalse | E-08 (line 27: `bool $global = false`) | ○ |
| C-21 | DocumentBaseConfigEntityにgetFilenamePrefixメソッドが存在する | E-08 (line 140-143) | ○ |
| C-22 | DocumentBaseConfigEntityにgetFilenameSuffixメソッドが存在する | E-08 (line 150-153) | ○ |
| C-23 | DocumentBaseConfigEntityにgetConfigメソッドが存在しnull許容 | E-08 (line 127-130) | ○ |
| C-24 | DocumentBaseConfigEntityにgetLogoリレーションが存在する | E-08 (line 114-117) | ○ |
| C-25 | DocumentBaseConfigEntityにgetSalesChannelsリレーションが存在する | E-08 (line 54-57) | ○ |

### DocumentBaseConfigSalesChannelEntity (UT-DOC-029 ~ UT-DOC-033)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-26 | DocumentBaseConfigSalesChannelEntityにgetDocumentBaseConfigIdメソッドが存在する | E-11 (line 29-32) | ○ |
| C-27 | DocumentBaseConfigSalesChannelEntityにgetSalesChannelIdメソッドが存在しnull許容 | E-11 (line 39-42) | ○ |
| C-28 | DocumentBaseConfigSalesChannelEntityにgetDocumentTypeリレーションが存在する | E-11 (line 59-62) | ○ |
| C-29 | DocumentBaseConfigSalesChannelEntityにgetDocumentBaseConfigリレーションが存在する | E-11 (line 69-72) | ○ |

### DocumentTypeTranslationEntity (UT-DOC-034 ~ UT-DOC-036)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-30 | DocumentTypeTranslationEntityにgetNameメソッドが存在する | E-14 (line 41-44) | ○ |
| C-31 | DocumentTypeTranslationEntityにgetDocumentTypeIdメソッドが存在する | E-14 (line 21-24) | ○ |
| C-32 | DocumentTypeTranslationEntityにgetDocumentTypeリレーションが存在する | E-14 (line 31-34) | ○ |

### DocumentGenerator (UT-DOC-037 ~ UT-DOC-049)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-33 | DocumentGeneratorにreadDocumentメソッドが存在する | E-16 (line 49-87) | ○ |
| C-34 | readDocumentは存在しない文書IDでDocumentException::documentNotFoundをスロー | E-16 (line 67-69) | ○ |
| C-35 | readDocumentはdeepLinkCodeでフィルタリング可能 | E-16 (line 62-64) | ○ |
| C-36 | DocumentGeneratorにpreviewメソッドが存在する | E-16 (line 89-107) | ○ |
| C-37 | previewはレンダリング失敗時にDocumentException::generationErrorをスロー | E-16 (line 103) | ○ |
| C-38 | DocumentGeneratorにgenerateメソッドが存在する | E-16 (line 112-171) | ○ |
| C-39 | generateは無効な文書タイプでDocumentException::invalidDocumentRendererをスロー | E-16 (line 117-118) | ○ |
| C-40 | generateは文書番号重複でDocumentException::documentNumberAlreadyExistsExceptionをスロー | E-16 (line 140, 268-270) | ○ |
| C-41 | DocumentGeneratorにuploadメソッドが存在する | E-16 (line 173-212) | ○ |
| C-42 | uploadは既存メディアがある場合にDocumentException::documentGenerationExceptionをスロー | E-16 (line 184-186) | ○ |
| C-43 | uploadは動的文書に対してDocumentException::documentGenerationExceptionをスロー | E-16 (line 188-190) | ○ |
| C-44 | uploadはファイル名未指定でDocumentException::documentGenerationExceptionをスロー | E-16 (line 196-198) | ○ |

### DocumentConfigLoader (UT-DOC-050 ~ UT-DOC-053)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-45 | DocumentConfigLoaderにloadメソッドが存在する | E-17 (line 49-79) | ○ |
| C-46 | loadはキャッシュから設定を返却できる | E-17 (line 51-53) | ○ |
| C-47 | DocumentConfigLoaderにresetメソッドが存在する | E-17 (line 84-87) | ○ |
| C-48 | loadはcompanyCountryIdが有効な場合Countryを取得する | E-17 (line 70-74) | ○ |

### DocumentMerger (UT-DOC-054 ~ UT-DOC-057)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-49 | DocumentMergerにmergeメソッドが存在する | E-18 (line 50-87) | ○ |
| C-50 | mergeは空配列でnullを返却する | E-18 (line 52-54) | ○ |
| C-51 | mergeは単一文書でそのまま返却する | E-18 (line 65-79) | ○ |
| C-52 | mergeはFPDIエラー時にZIPファイルを作成する | E-18 (line 84-86) | ○ |

### ReferenceInvoiceLoader (UT-DOC-058 ~ UT-DOC-060)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-53 | ReferenceInvoiceLoaderにloadメソッドが存在する | E-19 (line 30-80) | ○ |
| C-54 | loadは請求書が存在しない場合空配列を返却する | E-19 (line 62-64) | ○ |
| C-55 | loadはreferenceDocumentId未指定時に最新の請求書を返却する | E-19 (line 52-53, 79) | ○ |

### DocumentConfiguration (UT-DOC-061 ~ UT-DOC-066)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-56 | DocumentConfigurationにmergeメソッドが存在する | E-20 (line 406-409) | ○ |
| C-57 | DocumentConfigurationにbuildNameメソッドが存在する | E-20 (line 411-414) | ○ |
| C-58 | DocumentConfigurationにgetAddressPartsメソッドが存在する | E-20 (line 302-311) | ○ |
| C-59 | DocumentConfigurationは動的プロパティをサポートする(__set/__get) | E-20 (line 116-131) | ○ |

### DocumentConfigurationFactory (UT-DOC-067 ~ UT-DOC-072)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-60 | DocumentConfigurationFactoryにcreateConfigurationメソッドが存在する | E-21 (line 21-30) | ○ |
| C-61 | createConfigurationはnull設定をフィルタする | E-21 (line 23) | ○ |
| C-62 | DocumentConfigurationFactoryにmergeConfigurationメソッドが存在する | E-21 (line 35-103) | ○ |
| C-63 | mergeConfigurationはcustom配列をマージする | E-21 (line 48-51) | ○ |
| C-64 | mergeConfigurationはcustom.接頭辞のキーを処理する | E-21 (line 53-57) | ○ |

### DocumentGenerationResult (UT-DOC-073 ~ UT-DOC-075)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-65 | DocumentGenerationResultにaddSuccessメソッドが存在する | E-22 (line 32-35) | ○ |
| C-66 | DocumentGenerationResultにaddErrorメソッドが存在する | E-22 (line 45-48) | ○ |
| C-67 | DocumentGenerationResultにjsonSerializeメソッドが存在する | E-22 (line 50-67) | ○ |

### DocumentGenerateOperation (UT-DOC-076 ~ UT-DOC-081)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-68 | DocumentGenerateOperationにgetOrderIdメソッドが存在する | E-25 (line 30-33) | ○ |
| C-69 | DocumentGenerateOperationのfileTypeのデフォルト値はpdf | E-25 (line 22) | ○ |
| C-70 | DocumentGenerateOperationのstaticのデフォルト値はfalse | E-25 (line 25) | ○ |
| C-71 | DocumentGenerateOperationのpreviewのデフォルト値はfalse | E-25 (line 26) | ○ |
| C-72 | DocumentGenerateOperationにsetReferencedDocumentIdメソッドが存在する | E-25 (line 53-56) | ○ |
| C-73 | DocumentGenerateOperationのorderVersionIdのデフォルト値はLIVE_VERSION | E-25 (line 15) | ○ |

### RenderedDocument (UT-DOC-082 ~ UT-DOC-088)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-74 | RenderedDocumentにgetNumberメソッドが存在する | E-27 (line 38-41) | ○ |
| C-75 | RenderedDocumentにgetContentメソッドが存在する | E-27 (line 53-56) | ○ |
| C-76 | RenderedDocumentのcontentTypeのデフォルト値はapplication/pdf | E-27 (line 33) | ○ |
| C-77 | RenderedDocumentのfileExtensionのデフォルト値はpdf | E-27 (line 31) | ○ |
| C-78 | RenderedDocumentのpageOrientationのデフォルト値はportrait | E-27 (line 78-81) | ○ |
| C-79 | RenderedDocumentのpageSizeのデフォルト値はa4 | E-27 (line 83-86) | ○ |
| C-80 | RenderedDocumentにaddParameterメソッドが存在する | E-27 (line 147-150) | ○ |

### RendererResult (UT-DOC-089 ~ UT-DOC-093)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-81 | RendererResultにaddSuccessメソッドが存在する | E-28 (line 21-24) | ○ |
| C-82 | RendererResultにaddErrorメソッドが存在する | E-28 (line 26-29) | ○ |
| C-83 | RendererResultにgetOrderSuccessメソッドが存在する | E-28 (line 46-49) | ○ |
| C-84 | getOrderSuccessは存在しないorderIdでnullを返却する | E-28 (line 48) | ○ |
| C-85 | RendererResultにgetOrderErrorメソッドが存在する | E-28 (line 51-54) | ○ |

### DocumentIdStruct (UT-DOC-094 ~ UT-DOC-098)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-86 | DocumentIdStructにgetIdメソッドが存在する | E-23 (line 29-32) | ○ |
| C-87 | DocumentIdStructにgetDeepLinkCodeメソッドが存在する | E-23 (line 19-22) | ○ |
| C-88 | DocumentIdStructにgetMediaIdメソッドが存在しnull許容 | E-23 (line 39-42) | ○ |
| C-89 | DocumentIdStructにgetA11yMediaIdメソッドが存在する | E-23 (line 44-47) | ○ |

### Collection Classes (UT-DOC-099 ~ UT-DOC-100)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-90 | DocumentCollectionのgetExpectedClassはDocumentEntity::classを返却する | E-03 (line 19-22) | ○ |
| C-91 | DocumentIdCollectionのgetExpectedClassはDocumentIdStruct::classを返却する | E-24 (line 18-21) | ○ |

### DocumentException (UT-DOC-101 ~ UT-DOC-107)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-92 | DocumentExceptionにdocumentNotFoundメソッドが存在する | E-26 (line 68-79) | ○ |
| C-93 | DocumentExceptionにorderNotFoundメソッドが存在する | E-26 (line 55-66) | ○ |
| C-94 | DocumentExceptionにdocumentNumberAlreadyExistsExceptionメソッドが存在する | E-26 (line 103-113) | ○ |
| C-95 | DocumentExceptionにinvalidDocumentRendererメソッドが存在する | E-26 (line 127-137) | ○ |
| C-96 | DocumentExceptionにdocumentGenerationExceptionメソッドが存在する | E-26 (line 115-125) | ○ |
| C-97 | DocumentExceptionにcannotCreateZipFileメソッドが存在する | E-26 (line 195-203) | ○ |
| C-98 | DocumentExceptionにdocumentFileTypeUnavailableメソッドが存在する | E-26 (line 219-230) | ○ |

## 4) 不足情報（Unknown / Missing）
- なし - すべてのテストケースはソースコードに基づいて生成されています

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - すべてのテストケースはソースコードから直接抽出されたメソッド・プロパティに基づいています

### 追加考慮事項
- DocumentGeneratorのテストは外部依存（MediaService, DocumentRendererRegistry等）のモックが必要
- DocumentMergerのテストはPDFライブラリ（FPDI）のモックが必要
- DocumentConfigLoaderのテストはデータベースリポジトリのモックが必要

## 6) レビュアーチェックリスト（最小）
- [ ] すべてのエンティティクラスのgetter/setterがテストケースでカバーされているか確認
- [ ] すべてのリレーション（ManyToOne, OneToMany）のテストケースが存在するか確認
- [ ] サービスクラスの主要メソッドの正常系・異常系テストケースが網羅されているか確認
- [ ] 例外クラスのすべての静的ファクトリメソッドがテストケースでカバーされているか確認
- [ ] 境界値テスト（null, 空配列等）が適切に含まれているか確認
- [ ] セキュリティ関連（deepLinkCode認証）のテストケースが存在するか確認
- [ ] 優先度「高」のテストケースが重要なビジネスロジックをカバーしているか確認
