---
generated_at: 2026-01-28 14:30:00
metrics:
  claims_total: 84
  claims_with_evidence: 84
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート：data_model_order_model 単体テストケース一覧

## 本レポートについて

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

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

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

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

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

---

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

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

- E-01: `lib/data_model/order_model/order_detail_model.dart` - 注文詳細モデル（OrderDetail, Payment, BillingAddress, Items, OrderProduct, SuperAttributes, Options）
- E-02: `lib/data_model/order_model/order_refund_model.dart` - 返金モデル（OrderRefundModel, ViewRefunds, RefundItems）
- E-03: `lib/data_model/order_model/order_invoices_model.dart` - 請求書モデル（InvoicesModel, ViewInvoices, InvoicesItems）
- E-04: `lib/data_model/order_model/shipment_model.dart` - 配送モデル（ShipmentModel, ViewShipments, ItemsModel）
- E-05: `lib/data_model/order_model/orders_list_data_model.dart` - 注文一覧モデル（OrdersListModel, PaginatorInfo, Data, OrderListProduct, Images, BaseImage, Reviews）
- E-06: `lib/data_model/graphql_base_model.dart` - 基底モデル（BaseModel）
- E-07: `lib/data_model/graphql_base_error_model.dart` - エラー基底モデル（GraphQlBaseErrorModel）
- E-08: `lib/screens/cart_screen/cart_model/cart_data_model.dart` - カートモデル（FormattedPrice）

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

### OrderDetail関連（UT-ORD-001 〜 UT-ORD-006）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | OrderDetail.fromJsonが全フィールドをデシリアライズ | E-01 L35-36 | ○ |
| C-02 | OrderDetail.fromJsonがnullフィールドを処理 | E-01 L21-31（全フィールドnullable） | ○ |
| C-03 | OrderDetail.fromJsonが空JSONを処理 | E-01 L35-36 | ○ |
| C-04 | OrderDetail.toJsonが全フィールドをシリアライズ | E-01 L51 | ○ |
| C-05 | OrderDetail.toJsonがnullフィールドをシリアライズ | E-01 L51 | ○ |
| C-06 | OrderDetailがGraphQlBaseErrorModelを継承 | E-01 L20, E-07 | ○ |

### Payment関連（UT-ORD-007 〜 UT-ORD-009）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-07 | Payment.fromJsonが全フィールドをデシリアライズ | E-01 L54-66 | ○ |
| C-08 | Payment.fromJsonがnullフィールドを処理 | E-01 L56-58（全フィールドnullable） | ○ |
| C-09 | Payment.toJsonがオブジェクトをシリアライズ | E-01 L65 | ○ |

### BillingAddress関連（UT-ORD-010 〜 UT-ORD-013）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-10 | BillingAddress.fromJsonが全フィールドをデシリアライズ | E-01 L68-100 | ○ |
| C-11 | @JsonKey(name: "address")がaddress1にマッピング | E-01 L74-75 | ○ |
| C-12 | BillingAddress.fromJsonが空文字列を処理 | E-01 L71-81（全フィールドString?） | ○ |
| C-13 | BillingAddress.toJsonがaddress1をaddressとしてシリアライズ | E-01 L74, L99 | ○ |

### Items関連（UT-ORD-014 〜 UT-ORD-019）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-14 | Items.fromJsonが全フィールドをデシリアライズ | E-01 L102-134 | ○ |
| C-15 | Items.fromJsonが数量フィールドをintとしてパース | E-01 L108-112（qtyOrdered〜qtyRefundedがint?） | ○ |
| C-16 | Items.fromJsonが数量0を処理 | E-01 L108-112 | ○ |
| C-17 | Items.additionalがdynamic型 | E-01 L116 | ○ |
| C-18 | Items.additionalがnullを処理 | E-01 L116（dynamic型） | ○ |
| C-19 | Items.toJsonがproductを含めてシリアライズ | E-01 L133 | ○ |

### OrderProduct関連（UT-ORD-020 〜 UT-ORD-022）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-20 | OrderProduct.fromJsonが全フィールドをデシリアライズ | E-01 L136-152 | ○ |
| C-21 | OrderProduct.fromJsonがimagesリストをデシリアライズ | E-01 L141 | ○ |
| C-22 | OrderProduct.fromJsonが空images配列を処理 | E-01 L141（List<Images>?） | ○ |

### SuperAttributes関連（UT-ORD-023 〜 UT-ORD-024）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-23 | SuperAttributes.fromJsonが空オブジェクトをデシリアライズ | E-01 L154-164 | ○ |
| C-24 | SuperAttributes.toJsonが空オブジェクトをシリアライズ | E-01 L163 | ○ |

### Options関連（UT-ORD-025）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-25 | Options.fromJsonがidフィールドをデシリアライズ | E-01 L166-180 | ○ |

### OrderRefundModel関連（UT-ORD-026 〜 UT-ORD-029）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-26 | OrderRefundModel.fromJsonがviewRefundsをデシリアライズ | E-02 L19-30 | ○ |
| C-27 | OrderRefundModel.fromJsonがnull dataを処理 | E-02 L22（List<ViewRefunds>?） | ○ |
| C-28 | OrderRefundModel.fromJsonが空data配列を処理 | E-02 L22 | ○ |
| C-29 | OrderRefundModelがBaseModelを継承 | E-02 L20, E-06 | ○ |

### ViewRefunds関連（UT-ORD-030 〜 UT-ORD-031）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-30 | ViewRefunds.fromJsonが全フィールドをデシリアライズ | E-02 L32-44 | ○ |
| C-31 | ViewRefunds.fromJsonがitemsリストをデシリアライズ | E-02 L36 | ○ |

### RefundItems関連（UT-ORD-032 〜 UT-ORD-034）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-32 | RefundItems.fromJsonが全フィールドをデシリアライズ | E-02 L46-63 | ○ |
| C-33 | RefundItems.fromJsonがformattedPriceをデシリアライズ | E-02 L55 | ○ |
| C-34 | RefundItems.fromJsonが数量0を処理 | E-02 L52（int? qty） | ○ |

### InvoicesModel関連（UT-ORD-035 〜 UT-ORD-038）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-35 | InvoicesModel.fromJsonがviewInvoicesをデシリアライズ | E-03 L19-31 | ○ |
| C-36 | InvoicesModel.fromJsonがnull dataを処理 | E-03 L22（List<ViewInvoices>?） | ○ |
| C-37 | InvoicesModel.fromJsonが空data配列を処理 | E-03 L22 | ○ |
| C-38 | InvoicesModelがBaseModelを継承 | E-03 L20, E-06 | ○ |

### ViewInvoices関連（UT-ORD-039 〜 UT-ORD-040）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-39 | ViewInvoices.fromJsonが全フィールドをデシリアライズ | E-03 L33-45 | ○ |
| C-40 | ViewInvoices.fromJsonがitemsリストをデシリアライズ | E-03 L36 | ○ |

### InvoicesItems関連（UT-ORD-041 〜 UT-ORD-043）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-41 | InvoicesItems.fromJsonが全フィールドをデシリアライズ | E-03 L47-70 | ○ |
| C-42 | InvoicesItems.idがString型 | E-03 L49（String? id） | ○ |
| C-43 | InvoicesItems.fromJsonが数量0を処理 | E-03 L52（int? qty） | ○ |

### ShipmentModel関連（UT-ORD-044 〜 UT-ORD-047）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-44 | ShipmentModel.fromJsonがviewShipmentsをデシリアライズ | E-04 L18-30 | ○ |
| C-45 | ShipmentModel.fromJsonがnull dataを処理 | E-04 L21（List<ViewShipments>?） | ○ |
| C-46 | ShipmentModel.fromJsonが空data配列を処理 | E-04 L21 | ○ |
| C-47 | ShipmentModelがBaseModelを継承 | E-04 L19, E-06 | ○ |

### ViewShipments関連（UT-ORD-048 〜 UT-ORD-050）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-48 | ViewShipments.fromJsonが全フィールドをデシリアライズ | E-04 L32-48 | ○ |
| C-49 | ViewShipments.trackNumberがnullable | E-04 L35（String? trackNumber） | ○ |
| C-50 | ViewShipments.fromJsonがitemsリストをデシリアライズ | E-04 L36 | ○ |

### ItemsModel関連（UT-ORD-051 〜 UT-ORD-053）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-51 | ItemsModel.fromJsonが全フィールドをデシリアライズ | E-04 L50-87 | ○ |
| C-52 | ItemsModel.idがint型 | E-04 L52（int? id） | ○ |
| C-53 | ItemsModel.fromJsonが数量0を処理 | E-04 L56（int? qty） | ○ |

### OrdersListModel関連（UT-ORD-054 〜 UT-ORD-058）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-54 | OrdersListModel.fromJsonが全フィールドをデシリアライズ | E-05 L18-30 | ○ |
| C-55 | OrdersListModel.fromJsonがdataリストをデシリアライズ | E-05 L20 | ○ |
| C-56 | OrdersListModel.fromJsonがpaginatorInfoをデシリアライズ | E-05 L21 | ○ |
| C-57 | OrdersListModel.fromJsonがnull dataを処理 | E-05 L20（List<Data>?） | ○ |
| C-58 | OrdersListModelがBaseModelを継承 | E-05 L19, E-06 | ○ |

### PaginatorInfo関連（UT-ORD-059 〜 UT-ORD-062）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-59 | PaginatorInfo.fromJsonが全フィールドをデシリアライズ | E-05 L32-44 | ○ |
| C-60 | PaginatorInfo.fromJsonがcurrentPage=1を処理 | E-05 L35（int? currentPage） | ○ |
| C-61 | PaginatorInfo.fromJsonがcurrentPage=lastPageを処理 | E-05 L35-36 | ○ |
| C-62 | PaginatorInfo.toJsonがオブジェクトをシリアライズ | E-05 L43 | ○ |

### Data関連（UT-ORD-063 〜 UT-ORD-067）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-63 | Data.fromJsonが全フィールドをデシリアライズ | E-05 L46-66 | ○ |
| C-64 | Data.fromJsonがformattedPriceをデシリアライズ | E-05 L53 | ○ |
| C-65 | Data.statusフィールドがString型 | E-05 L50（String? status） | ○ |
| C-66 | Data.fromJsonがtotalQtyOrdered=0を処理 | E-05 L51（int? totalQtyOrdered） | ○ |
| C-67 | Data.toJsonがオブジェクトをシリアライズ | E-05 L65 | ○ |

### OrderListProduct関連（UT-ORD-068 〜 UT-ORD-074）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-68 | OrderListProduct.fromJsonが全フィールドをデシリアライズ | E-05 L68-111 | ○ |
| C-69 | OrderListProduct.priceがdynamic型 | E-05 L75（dynamic price） | ○ |
| C-70 | OrderListProduct.priceが文字列を処理 | E-05 L75（dynamic型） | ○ |
| C-71 | OrderListProduct.booleanフィールドが正しくパース | E-05 L82-86 | ○ |
| C-72 | OrderListProduct.fromJsonがimagesリストをデシリアライズ | E-05 L79 | ○ |
| C-73 | OrderListProduct.fromJsonがbaseImageをデシリアライズ | E-05 L80 | ○ |
| C-74 | OrderListProduct.fromJsonがreviewsをデシリアライズ | E-05 L81 | ○ |

### Images関連（UT-ORD-075 〜 UT-ORD-077）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-75 | Images.fromJsonが全フィールドをデシリアライズ | E-05 L113-135 | ○ |
| C-76 | Images.fromJsonが各サイズURLをデシリアライズ | E-05 L119-122 | ○ |
| C-77 | Images.toJsonがオブジェクトをシリアライズ | E-05 L134 | ○ |

### BaseImage関連（UT-ORD-078 〜 UT-ORD-080）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-78 | BaseImage.fromJsonが全フィールドをデシリアライズ | E-05 L137-154 | ○ |
| C-79 | BaseImage.fromJsonが全nullを処理 | E-05 L139-142（全フィールドnullable） | ○ |
| C-80 | BaseImage.toJsonがオブジェクトをシリアライズ | E-05 L153 | ○ |

### Reviews関連（UT-ORD-081 〜 UT-ORD-084）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-81 | Reviews.fromJsonが全フィールドをデシリアライズ | E-05 L156-168 | ○ |
| C-82 | Reviews.fromJsonがtotal=0を処理 | E-05 L158（int? total） | ○ |
| C-83 | Reviews.fromJsonがaverageRating=5を処理 | E-05 L160（int? averageRating） | ○ |
| C-84 | Reviews.toJsonがオブジェクトをシリアライズ | E-05 L167 | ○ |

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

## 5) リスクフラグ（レビュー観点）
- **0（低リスク）**：全テストケースにソースコードの根拠あり
- 注意点：
  - `json_serializable`パッケージによる自動生成コード（`.g.dart`ファイル）は解析対象外
  - `FormattedPrice`クラスは`cart_data_model.dart`からインポートされており、別モジュールの依存がある
  - `dynamic`型フィールド（`Items.additional`, `OrderListProduct.price`）は型安全性に注意が必要

## 6) レビュアーチェックリスト（最小）
- [ ] 全クラスのfromJson/toJsonメソッドがテストケースでカバーされているか確認
- [ ] @JsonKeyアノテーションによるフィールドマッピングが正しくテストされているか確認
- [ ] 継承関係（BaseModel, GraphQlBaseErrorModel）が正しくテストされているか確認
- [ ] nullable フィールドの null ケースがテストされているか確認
- [ ] List型フィールドの空リストケースがテストされているか確認
- [ ] dynamic型フィールドの各種入力パターンがテストされているか確認
- [ ] 数量フィールド（qty系）の境界値（0）がテストされているか確認
