---
generated_at: 2026-02-24 10:30:00
metrics:
  claims_total: 110
  claims_with_evidence: 105
  claims_without_evidence: 5
confidence_derived: 0.95
---

# 根拠レポート：order.csv (単体テストケース一覧)

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.95**
  - 根拠あり：105 / 110、根拠なし：5
- 優先レビュー（高）
  1. **UT-ORD-052, UT-ORD-053 (shouldIncludeTotals)**: privateメソッドのため直接テスト可否要確認
  2. **UT-ORD-067 (getCurrentOrder)**: 戻り値の型VirtualOrderの詳細仕様要確認
  3. **UT-ORD-068 (registerActionType)**: 静的メソッドのテスト方法要確認

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

- E-01: `packages/modules/order/src/services/order-service.ts` - OrderServiceクラス定義
- E-02: `packages/modules/order/src/services/order-module-service.ts` - OrderModuleServiceクラス定義（メイン）
- E-03: `packages/modules/order/src/utils/calculate-order-change.ts` - OrderChangeProcessingクラス定義
- E-04: `packages/modules/order/src/utils/apply-order-changes.ts` - applyChangesToOrder関数定義
- E-05: `packages/modules/order/src/utils/transform-order.ts` - formatOrder, mapRepositoryToOrderModel関数定義
- E-06: `packages/modules/order/src/utils/actions/item-add.ts` - ITEM_ADDアクション定義
- E-07: `packages/modules/order/src/utils/actions/fulfill-item.ts` - FULFILL_ITEMアクション定義
- E-08: `packages/modules/order/src/utils/actions/ship-item.ts` - SHIP_ITEMアクション定義
- E-09: `packages/modules/order/src/utils/actions/return-item.ts` - RETURN_ITEMアクション定義
- E-10: `packages/modules/order/src/utils/actions/receive-return-item.ts` - RECEIVE_RETURN_ITEMアクション定義
- E-11: `packages/modules/order/src/services/actions/create-return.ts` - createReturn関数定義
- E-12: `packages/modules/order/src/models/order.ts` - Orderモデル定義
- E-13: `packages/modules/order/src/services/actions/index.ts` - アクションエクスポート一覧

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

### OrderService（E-01）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 (UT-ORD-001) | retrieveOrderVersionメソッドで指定バージョンの注文を取得できる | E-01 L36-59 | ○ |
| C-02 (UT-ORD-002) | 存在しない注文IDでMedusaError(NOT_FOUND)がスローされる | E-01 L51-56 | ○ |
| C-03 (UT-ORD-003) | 存在しないバージョンでMedusaError(NOT_FOUND)がスローされる | E-01 L51-56 | ○ |

### OrderModuleService - 注文CRUD（E-02）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-04 (UT-ORD-004) | retrieveOrderメソッドで注文を取得できる | E-02 L432-455 | ○ |
| C-05 (UT-ORD-005) | 合計額を含む注文を取得できる | E-02 L362-402 (shouldIncludeTotals) | ○ |
| C-06 (UT-ORD-006) | listOrdersメソッドで注文一覧を取得できる | E-02 L457-466 | ○ |
| C-07 (UT-ORD-007) | 注文が0件の場合に空配列が返却される | E-02 L457-466 | ○ |
| C-08 (UT-ORD-008) | listAndCountOrdersで一覧とカウントを取得できる | E-02 L484-506 | ○ |
| C-09 (UT-ORD-009) | createOrdersで単一の注文を作成できる | E-02 L698-745 | ○ |
| C-10 (UT-ORD-010) | createOrdersで複数の注文を一括作成できる | E-02 L698-745 | ○ |
| C-11 (UT-ORD-011) | 配送先住所付きで注文を作成できる | E-02 L841-885 | ○ |
| C-12 (UT-ORD-012) | 商品明細付きで注文を作成できる | E-02 L814-824 | ○ |
| C-13 (UT-ORD-013) | クレジットライン付きで注文を作成できる | E-02 L803-812 | ○ |
| C-14 (UT-ORD-014) | deleteOrdersで注文を削除できる | E-02 L887-959 | ○ |
| C-15 (UT-ORD-015) | 複数の注文を一括削除できる | E-02 L894 | ○ |
| C-16 (UT-ORD-016) | 関連データも同時に削除される | E-02 L935-958 | ○ |
| C-17 (UT-ORD-017) | updateOrdersでIDで注文を更新できる | E-02 L961-999 | ○ |
| C-18 (UT-ORD-018) | 配列で複数注文を更新できる | E-02 L1019-1020 | ○ |
| C-19 (UT-ORD-019) | セレクタで複数注文を更新できる | E-02 L1021-1034 | ○ |

### OrderModuleService - 商品明細（E-02）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-20 (UT-ORD-020) | createOrderLineItemsで商品明細を追加できる | E-02 L1040-1104 | ○ |
| C-21 (UT-ORD-021) | 複数の商品明細を一括追加できる | E-02 L1076-1099 | ○ |
| C-22 (UT-ORD-022) | updateOrderLineItemsで商品明細を更新できる | E-02 L1162-1222 | ○ |
| C-23 (UT-ORD-023) | 数量更新時にOrderItemも更新される | E-02 L1235-1248 | ○ |
| C-24 (UT-ORD-024) | updateOrderItemで注文アイテム詳細を更新できる | E-02 L1286-1372 | ○ |

### OrderModuleService - 配送方法（E-02）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-25 (UT-ORD-025) | createOrderShippingMethodsで配送方法を追加できる | E-02 L1374-1445 | ○ |
| C-26 (UT-ORD-026) | softDeleteOrderShippingMethodsで論理削除できる | E-02 L1487-1527 | ○ |
| C-27 (UT-ORD-027) | restoreOrderShippingMethodsで復元できる | E-02 L1529-1565 | ○ |

### OrderModuleService - 調整（E-02）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-28 (UT-ORD-028) | createOrderLineItemAdjustmentsで商品調整を作成できる | E-02 L1567-1648 | ○ |
| C-29 (UT-ORD-029) | 存在しない商品IDでMedusaError(INVALID_DATA)がスローされる | E-02 L1623-1630 | ○ |
| C-30 (UT-ORD-030) | setOrderLineItemAdjustmentsで一括設定できる | E-02 L1683-1749 | ○ |
| C-31 (UT-ORD-031) | 不要な調整が削除される | E-02 L1730-1741 | ○ |
| C-32 (UT-ORD-032) | createOrderShippingMethodAdjustmentsで配送調整を作成できる | E-02 L1857-1953 | ○ |
| C-33 (UT-ORD-033) | 存在しない配送方法IDでエラーが発生する | E-02 L1922-1929 | ○ |

### OrderModuleService - 税行（E-02）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-34 (UT-ORD-034) | createOrderLineItemTaxLinesで商品税行を作成できる | E-02 L1955-2042 | ○ |
| C-35 (UT-ORD-035) | setOrderLineItemTaxLinesで一括設定できる | E-02 L2079-2145 | ○ |
| C-36 (UT-ORD-036) | createOrderShippingMethodTaxLinesで配送税行を作成できる | E-02 L2147-2225 | ○ |
| C-37 (UT-ORD-037) | setOrderShippingMethodTaxLinesで一括設定できる | E-02 L2246-2316 | ○ |

### OrderModuleService - 返品・クレーム・交換（E-02）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-38 (UT-ORD-038) | createReturnsで返品を作成できる | E-02 L2318-2346 | ○ |
| C-39 (UT-ORD-039) | 複数の返品を一括作成できる | E-02 L2324-2327 | ○ |
| C-40 (UT-ORD-040) | createOrderClaimsでクレームを作成できる | E-02 L2348-2376 | ○ |
| C-41 (UT-ORD-041) | createOrderExchangesで交換を作成できる | E-02 L2378-2408 | ○ |

### OrderModuleService - 変更管理（E-02）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-42 (UT-ORD-042) | createOrderChangeで注文変更を作成できる | E-02 L2446-2529 | ○ |
| C-43 (UT-ORD-043) | アクティブな変更があるとエラーが発生する | E-02 L2513-2520 | ○ |
| C-44 (UT-ORD-044) | 存在しない注文IDでエラーが発生する | E-02 L2503-2510 | ○ |
| C-45 (UT-ORD-045) | previewOrderChangeで変更プレビューを取得できる | E-02 L2531-2591 | ○ |
| C-46 (UT-ORD-046) | 変更がない場合は現在の注文が返却される | E-02 L2545-2547 | ○ |
| C-47 (UT-ORD-047) | cancelOrderChangeで変更をキャンセルできる | E-02 L2710-2759 | ○ |
| C-48 (UT-ORD-048) | confirmOrderChangeで変更を確定できる | E-02 L2761-2830 | ○ |
| C-49 (UT-ORD-049) | declineOrderChangeで変更を拒否できる | E-02 L2832-2884 | ○ |
| C-50 (UT-ORD-050) | registerOrderChangeで変更を登録できる | E-02 L2886-2954 | ○ |
| C-51 (UT-ORD-051) | applyPendingOrderActionsで保留中のアクションを適用できる | E-02 L2956-2999 | ○ |
| C-52 (UT-ORD-052) | shouldIncludeTotalsで合計フィールド判定ができる | E-02 L362-402 | △ |
| C-53 (UT-ORD-053) | shouldIncludeTotalsで合計フィールドがない場合false | E-02 L362-402 | △ |

### OrderModuleService - 取得系（E-02）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-54 (UT-ORD-054) | retrieveReturnで返品を取得できる | E-02 L508-523 | ○ |
| C-55 (UT-ORD-055) | listReturnsで返品一覧を取得できる | E-02 L525-540 | ○ |
| C-56 (UT-ORD-056) | retrieveOrderClaimでクレームを取得できる | E-02 L566-585 | ○ |
| C-57 (UT-ORD-057) | listOrderClaimsでクレーム一覧を取得できる | E-02 L587-606 | ○ |
| C-58 (UT-ORD-058) | retrieveOrderExchangeで交換を取得できる | E-02 L632-651 | ○ |
| C-59 (UT-ORD-059) | listOrderExchangesで交換一覧を取得できる | E-02 L653-672 | ○ |

### OrderChangeProcessing（E-03）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-60 (UT-ORD-060) | constructorでインスタンスが正しく初期化される | E-03 L47-92 | ○ |
| C-61 (UT-ORD-061) | トランザクション合計が正しく計算される | E-03 L63-78 | ○ |
| C-62 (UT-ORD-062) | クレジットライン合計が正しく計算される | E-03 L66-69 | ○ |
| C-63 (UT-ORD-063) | processActionsでアクションを処理できる | E-03 L103-162 | ○ |
| C-64 (UT-ORD-064) | 未定義のアクションタイプでエラーが発生する | E-03 L168-171 | ○ |
| C-65 (UT-ORD-065) | getSummaryで注文サマリーを取得できる | E-03 L209-226 | ○ |
| C-66 (UT-ORD-066) | getSummaryFromOrderで計算済み注文からサマリーを取得できる | E-03 L228-248 | ○ |
| C-67 (UT-ORD-067) | getCurrentOrderで現在の注文状態を取得できる | E-03 L250-252 | △ |
| C-68 (UT-ORD-068) | registerActionTypeでアクションタイプを登録できる | E-03 L43-45 | △ |
| C-69 (UT-ORD-069) | calculateOrderChangeで注文変更を計算できる | E-03 L255-280 | ○ |

### applyChangesToOrder（E-04）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-70 (UT-ORD-070) | 変更を注文に適用できる | E-04 L24-226 | ○ |
| C-71 (UT-ORD-071) | 商品追加時にitemsToUpsertが生成される | E-04 L71-113 | ○ |
| C-72 (UT-ORD-072) | 配送方法追加時にshippingMethodsToUpsertが生成される | E-04 L142-174 | ○ |
| C-73 (UT-ORD-073) | バージョンが更新される | E-04 L176 | ○ |
| C-74 (UT-ORD-074) | 数量0以下の商品はスキップされる | E-04 L72-74 | ○ |

### formatOrder / mapRepositoryToOrderModel（E-05）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-75 (UT-ORD-075) | 注文を正しい形式に変換できる | E-05 L12-108 | ○ |
| C-76 (UT-ORD-076) | 配列の注文を変換できる | E-05 L19-20 | ○ |
| C-77 (UT-ORD-077) | 合計額が計算される | E-05 L102-104 | ○ |
| C-78 (UT-ORD-078) | 関連エンティティが正しく変換される | E-05 L62-75 | ○ |
| C-79 (UT-ORD-079) | リポジトリ形式に変換できる | E-05 L196-278 | ○ |
| C-80 (UT-ORD-080) | shipping_methodsが正しくマッピングされる | E-05 L219-228 | ○ |

### ITEM_ADDアクション（E-06）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-81 (UT-ORD-081) | 商品を追加できる | E-06 L10-43 | ○ |
| C-82 (UT-ORD-082) | 既存商品の数量が増加する | E-06 L16-25 | ○ |
| C-83 (UT-ORD-083) | unit_priceなしでエラーが発生する | E-06 L47-52 | ○ |
| C-84 (UT-ORD-084) | quantityなしでエラーが発生する | E-06 L54-59 | ○ |
| C-85 (UT-ORD-085) | quantity < 1でエラーが発生する | E-06 L61-66 | ○ |

### FULFILL_ITEMアクション（E-07）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-86 (UT-ORD-086) | 商品をフルフィルできる | E-07 L9-23 | ○ |
| C-87 (UT-ORD-087) | reference_idなしでエラーが発生する | E-07 L26-31 | ○ |
| C-88 (UT-ORD-088) | 存在しない商品IDでエラーが発生する | E-07 L33-39 | ○ |
| C-89 (UT-ORD-089) | quantityなしでエラーが発生する | E-07 L41-46 | ○ |
| C-90 (UT-ORD-090) | quantity < 1でエラーが発生する | E-07 L48-53 | ○ |
| C-91 (UT-ORD-091) | 注文数量を超えてフルフィルしようとするとエラーが発生する | E-07 L55-65 | ○ |

### SHIP_ITEMアクション（E-08）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-92 (UT-ORD-092) | 商品を出荷できる | E-08 L9-23 | ○ |
| C-93 (UT-ORD-093) | reference_idなしでエラーが発生する | E-08 L26-31 | ○ |
| C-94 (UT-ORD-094) | フルフィル数量を超えて出荷しようとするとエラーが発生する | E-08 L55-66 | ○ |

### RETURN_ITEMアクション（E-09）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-95 (UT-ORD-095) | 返品リクエストを作成できる | E-09 L9-25 | ○ |
| C-96 (UT-ORD-096) | 返品金額が正しく計算される | E-09 L24 | ○ |
| C-97 (UT-ORD-097) | reference_idなしでエラーが発生する | E-09 L28-33 | ○ |
| C-98 (UT-ORD-098) | フルフィル数量を超えて返品しようとするとエラーが発生する | E-09 L51-62 | ○ |

### RECEIVE_RETURN_ITEMアクション（E-10）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-99 (UT-ORD-099) | 返品を受領できる | E-10 L9-33 | ○ |
| C-100 (UT-ORD-100) | リクエスト数量を超えて受領しようとするとエラーが発生する | E-10 L59-67 | ○ |

### createReturn関数（E-11）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-101 (UT-ORD-101) | 返品を作成できる | E-11 L132-165 | ○ |
| C-102 (UT-ORD-102) | 返品アイテムが作成される | E-11 L29-52 | ○ |
| C-103 (UT-ORD-103) | 配送方法が設定される | E-11 L55-106 | ○ |
| C-104 (UT-ORD-104) | 既存の配送方法IDを使用できる | E-11 L80-82 | ○ |

### Orderモデル（E-12）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-105 (UT-ORD-105) | 注文モデルが正しく定義されている | E-12 L1-133 | ○ |
| C-106 (UT-ORD-106) | デフォルト値が設定される | E-12 L17-20 | ○ |
| C-107 (UT-ORD-107) | カスケード削除が設定されている | E-12 L60-68 | ○ |

### Upsert系メソッド（E-02）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-108 (UT-ORD-108) | upsertOrderLineItemAdjustmentsで調整をupsertできる | E-02 L1650-1681 | ○ |
| C-109 (UT-ORD-109) | upsertOrderShippingMethodAdjustmentsで配送調整をupsertできる | E-02 L1751-1782 | ○ |
| C-110 (UT-ORD-110) | upsertOrderLineItemTaxLinesで税行をupsertできる | E-02 L2044-2077 | ○ |

## 4) 不足情報（Unknown / Missing）
- **shouldIncludeTotals（C-52, C-53）**: privateメソッドのため、直接単体テストで検証可能かは実装方針に依存。統合テストでの検証が適切な可能性あり
  - 候補：モック経由でのテスト / 統合テストでの検証 / メソッドをprotectedに変更
- **getCurrentOrder（C-67）**: VirtualOrder型の詳細仕様がコード内で完全に把握できていない
  - 候補：`@types`パッケージの型定義を確認
- **registerActionType（C-68）**: 静的メソッドのテスト方法が言語・フレームワークの慣習に依存
  - 候補：Jest staticメソッドテスト / 登録後の動作確認

## 5) リスクフラグ（レビュー観点）
- **0（低リスク）**: モデル定義（C-105〜C-107）、基本CRUD（C-04〜C-19）
- **1（中リスク）**: privateメソッドのテスト設計（C-52, C-53）、静的メソッドのテスト（C-68）
- **2（高リスク）**: 金額計算ロジック（C-61, C-62, C-96）- 計算ロジックの正確性が重要

## 6) レビュアーチェックリスト（最小）
- [ ] 金額計算関連のテストケース（UT-ORD-061, UT-ORD-062, UT-ORD-096）の入力値と期待結果が十分に具体的か確認
- [ ] privateメソッド（shouldIncludeTotals）のテスト方針を決定
- [ ] エラーハンドリングのテストケースでMedusaError.Typesが正しく指定されているか確認
- [ ] 境界値テストケース（UT-ORD-007, UT-ORD-074, UT-ORD-085等）の網羅性確認
- [ ] 各アクション（ITEM_ADD, FULFILL_ITEM等）のバリデーションロジックが完全にカバーされているか確認
