---
generated_at: 2026-02-24 10:30:00
metrics:
  claims_total: 141
  claims_with_evidence: 141
  claims_without_evidence: 0
confidence_derived: 1.00
---

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

## 本レポートについて

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

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

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

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

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

---

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

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

- E-01: `packages/core/modules-sdk/src/medusa-module.ts` - MedusaModuleクラスの実装
- E-02: `packages/core/modules-sdk/src/link.ts` - Linkクラスの実装
- E-03: `packages/core/modules-sdk/src/medusa-app.ts` - MedusaApp関数群の実装
- E-04: `packages/core/modules-sdk/src/remote-query/remote-query.ts` - RemoteQueryクラスの実装
- E-05: `packages/core/modules-sdk/src/remote-query/query.ts` - QueryクラスとcreateQuery関数の実装
- E-06: `packages/core/modules-sdk/src/loaders/module-loader.ts` - moduleLoader関数の実装
- E-07: `packages/core/modules-sdk/src/loaders/register-modules.ts` - registerMedusaModule関数群の実装
- E-08: `packages/core/modules-sdk/src/loaders/module-provider-loader.ts` - moduleProviderLoader関数群の実装
- E-09: `packages/core/modules-sdk/src/loaders/utils/load-internal.ts` - loadInternalModule関数群の実装
- E-10: `packages/core/modules-sdk/src/remote-query/parse-filters.ts` - parseAndAssignFilters関数の実装
- E-11: `packages/core/modules-sdk/src/remote-query/to-remote-query.ts` - toRemoteQuery関数の実装
- E-12: `packages/core/modules-sdk/src/utils/linking-error.ts` - linkingErrorMessage関数の実装
- E-13: `packages/core/modules-sdk/src/utils/convert-data-to-link-definition.ts` - convertRecordsToLinkDefinition関数の実装
- E-14: `packages/core/modules-sdk/src/definitions.ts` - ModulesDefinition定義
- E-15: `packages/core/modules-sdk/src/types/index.ts` - MODULE_SCOPE enum定義

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

### MedusaModule クラス（medusa-module.ts）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | getLoadedModulesメソッドがLoadedModuleの配列を返却する | E-01 (L110-120) | ○ |
| C-02 | getLoadedModulesでエイリアスマップを指定できる | E-01 (L111-118) | ○ |
| C-03 | onApplicationStartがモジュールの__hooksを呼び出す | E-01 (L122-138) | ○ |
| C-04 | onApplicationShutdownがモジュールの__hooksを呼び出す | E-01 (L139-154) | ○ |
| C-05 | onApplicationPrepareShutdownがモジュールの__hooksを呼び出す | E-01 (L156-171) | ○ |
| C-06 | clearInstancesが全内部Mapをクリアする | E-01 (L173-179) | ○ |
| C-07 | isInstalledがモジュールの存在をチェックする | E-01 (L181-190) | ○ |
| C-08 | getJoinerConfigがModuleJoinerConfigを返却する | E-01 (L192-194) | ○ |
| C-09 | getAllJoinerConfigsが全設定の配列を返却する | E-01 (L196-198) | ○ |
| C-10 | getModuleResolutionsがModuleResolutionを返却する | E-01 (L200-202) | ○ |
| C-11 | getAllModuleResolutionsが全解決情報の配列を返却する | E-01 (L204-206) | ○ |
| C-12 | unregisterModuleResolutionが関連エントリを削除する | E-01 (L208-220) | ○ |
| C-13 | setModuleResolutionが解決情報を保存する | E-01 (L222-229) | ○ |
| C-14 | setJoinerConfigが設定を保存する | E-01 (L231-238) | ○ |
| C-15 | setCustomLinkがカスタムリンクを追加する | E-01 (L240-242) | ○ |
| C-16 | getCustomLinksがカスタムリンク配列を返却する | E-01 (L244-246) | ○ |
| C-17 | getModuleInstanceがモジュールインスタンスを返却する | E-01 (L248-267) | ○ |
| C-18 | registerModuleで重複エイリアスエラーがスローされる | E-01 (L279-283) | ○ |
| C-19 | registerModuleでmain重複エラーがスローされる | E-01 (L285-289) | ○ |
| C-20 | bootstrapAllが複数モジュールを一括ロードする | E-01 (L302-332) | ○ |
| C-21 | bootstrapが単一モジュールをロードする | E-01 (L347-385) | ○ |
| C-22 | bootstrapLinkがリンクモジュールをロードする | E-01 (L657-792) | ○ |
| C-23 | bootstrapLinkでjoinerConfig未定義エラーがスローされる | E-01 (L761-764) | ○ |
| C-24 | bootstrapLinkでisLink検証エラーがスローされる | E-01 (L770-774) | ○ |
| C-25 | migrateGenerateがマイグレーション生成を実行する | E-01 (L794-834) | ○ |
| C-26 | migrateUpがマイグレーションを実行する | E-01 (L836-880) | ○ |
| C-27 | migrateDownがロールバックを実行する | E-01 (L882-926) | ○ |

### Link クラス（link.ts）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-28 | Linkコンストラクタがモジュールなしで初期化できる | E-02 (L68-78) | ○ |
| C-29 | addModuleがモジュールを追加する | E-02 (L80-134) | ○ |
| C-30 | addModuleでクエリ不可モジュールがスキップされる | E-02 (L81-83) | ○ |
| C-31 | addModuleで重複エラーがスローされる | E-02 (L91-95) | ○ |
| C-32 | getLinkModuleがリンクモジュールを返却する | E-02 (L155-163) | ○ |
| C-33 | getRelationshipsがリレーションシップマップを返却する | E-02 (L165-167) | ○ |
| C-34 | createがリンクを作成する | E-02 (L396-531) | ○ |
| C-35 | createで3モジュール以上エラーがスローされる | E-02 (L357-359) | ○ |
| C-36 | createで重複リンクエラーがスローされる | E-02 (L510-518) | ○ |
| C-37 | dismissがリンクを解除する | E-02 (L533-568) | ○ |
| C-38 | deleteがカスケード削除を実行する | E-02 (L570-579) | ○ |
| C-39 | restoreがカスケード復元を実行する | E-02 (L581-586) | ○ |
| C-40 | listがリンク一覧を返却する | E-02 (L588-627) | ○ |

### RemoteQuery クラス（remote-query.ts）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-41 | RemoteQueryコンストラクタが初期化できる | E-04 (L36-83) | ○ |
| C-42 | RemoteQueryコンストラクタで重複エラーがスローされる | E-04 (L63-66) | ○ |
| C-43 | getEntitiesMapがマップを返却する | E-04 (L85-87) | ○ |
| C-44 | setFetchDataCallbackがコールバックを設定する | E-04 (L89-101) | ○ |
| C-45 | getAllFieldsAndRelationsがフィールドとリレーションを抽出する | E-04 (L103-166) | ○ |
| C-46 | remoteFetchDataがデータをフェッチする | E-04 (L283-305) | ○ |
| C-47 | remoteFetchDataでカスタムコールバックが優先される | E-04 (L292-297) | ○ |
| C-48 | remoteFetchDataでページネーション処理が行われる | E-04 (L430-439) | ○ |
| C-49 | remoteFetchDataでバッチ処理が行われる | E-04 (L405-416) | ○ |
| C-50 | remoteFetchDataでメソッド存在チェックが行われる | E-04 (L395-399) | ○ |
| C-51 | queryが文字列クエリを実行する | E-04 (L446-460) | ○ |
| C-52 | queryがRemoteJoinerQueryオブジェクトを実行する | E-04 (L455-457) | ○ |

### Query クラス（query.ts）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-53 | Queryコンストラクタが初期化できる | E-05 (L114-126) | ○ |
| C-54 | queryがクエリを実行する | E-05 (L170-194) | ○ |
| C-55 | queryでオブジェクト以外でエラーがスローされる | E-05 (L178-183) | ○ |
| C-56 | gqlがGraphQLクエリを実行する | E-05 (L202-204) | ○ |
| C-57 | graphがグラフクエリを実行する | E-05 (L210-253) | ○ |
| C-58 | graphでロケール対応が行われる | E-05 (L244-250) | ○ |
| C-59 | indexがインデックスクエリを実行する | E-05 (L259-335) | ○ |
| C-60 | indexでIndexModule未ロードエラーがスローされる | E-05 (L266-270) | ○ |
| C-61 | createQueryが後方互換性のある関数を返却する | E-05 (L342-366) | ○ |

### MedusaApp 関数群（medusa-app.ts）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-62 | loadModulesがモジュールをロードする | E-03 (L84-203) | ○ |
| C-63 | loadModulesでdisable=trueがスキップされる | E-03 (L124-126) | ○ |
| C-64 | loadModulesでmod=falseがスキップされる | E-03 (L124) | ○ |
| C-65 | loadModulesでロード失敗エラーがスローされる | E-03 (L183-185) | ○ |
| C-66 | MedusaAppがアプリケーションを初期化する | E-03 (L700-704) | ○ |
| C-67 | MedusaAppでloaderOnlyモードが動作する | E-03 (L448-477) | ○ |
| C-68 | onApplicationShutdownが正しく動作する | E-03 (L370-375) | ○ |
| C-69 | MedusaAppMigrateUpがマイグレーションを実行する | E-03 (L706-719) | ○ |
| C-70 | MedusaAppMigrateDownがロールバックを実行する | E-03 (L721-733) | ○ |
| C-71 | MedusaAppMigrateGenerateがマイグレーションを生成する | E-03 (L735-747) | ○ |
| C-72 | MedusaAppGetLinksExecutionPlannerがプランナーを取得する | E-03 (L749-760) | ○ |

### Loaders（module-loader.ts, register-modules.ts, module-provider-loader.ts）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-73 | moduleLoaderがモジュールをロードする | E-06 (L8-46) | ○ |
| C-74 | moduleLoaderでロードエラーがスローされる | E-06 (L37-44) | ○ |
| C-75 | loadModuleでkey未定義エラーがスローされる | E-06 (L58-59) | ○ |
| C-76 | loadModuleで外部モジュールエラーがスローされる | E-06 (L70-73) | ○ |
| C-77 | loadModuleでスコープ未定義エラーが返却される | E-06 (L76-84) | ○ |
| C-78 | registerMedusaModuleがモジュールを登録する | E-07 (L17-70) | ○ |
| C-79 | registerMedusaModuleで宣言なしエラーがスローされる | E-07 (L41-43) | ○ |
| C-80 | registerMedusaModuleで外部スコープエラーがスローされる | E-07 (L45-51) | ○ |
| C-81 | registerMedusaLinkModuleがリンクモジュールを登録する | E-07 (L111-127) | ○ |
| C-82 | getInternalModuleResolutionが解決情報を生成する | E-07 (L129-183) | ○ |
| C-83 | getInternalModuleResolutionで必須モジュールエラーがスローされる | E-07 (L136-138) | ○ |
| C-84 | moduleProviderLoaderがプロバイダーをロードする | E-08 (L12-34) | ○ |
| C-85 | moduleProviderLoaderで空プロバイダーが処理される | E-08 (L25-27) | ○ |
| C-86 | loadModuleProviderがプロバイダーをロードする | E-08 (L36-95) | ○ |
| C-87 | loadModuleProviderでモジュール未発見エラーがスローされる | E-08 (L51-55) | ○ |
| C-88 | loadModuleProviderでサービス未定義エラーがスローされる | E-08 (L63-67) | ○ |

### Load Internal（load-internal.ts）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-89 | resolveModuleExportsがエクスポートを解決する | E-09 (L78-124) | ○ |
| C-90 | resolveModuleExportsで明示的エクスポートが使用される | E-09 (L85-89) | ○ |
| C-91 | resolveModuleExportsで必須モジュールエラーが返却される | E-09 (L111-119) | ○ |
| C-92 | loadInternalModuleがモジュールをロードする | E-09 (L181-408) | ○ |
| C-93 | loadInternalModuleでサービス未発見エラーが返却される | E-09 (L223-237) | ○ |
| C-94 | loadInternalModuleでmigrationOnlyモードが動作する | E-09 (L295-309) | ○ |
| C-95 | loadInternalModuleでプロバイダーidentifier検証が行われる | E-09 (L348-355) | ○ |
| C-96 | loadModuleMigrationsがマイグレーション関数を取得する | E-09 (L410-542) | ○ |
| C-97 | loadModuleMigrationsでマイグレーション解決エラーがスローされる | E-09 (L537-540) | ○ |
| C-98 | loadResourcesがリソースをロードする | E-09 (L580-696) | ○ |
| C-99 | loadResourcesで自動検出が行われる | E-09 (L624-640) | ○ |

### Parse Filters / To Remote Query
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-100 | parseAndAssignFiltersがフィルタをパースする | E-10 (L15-107) | ○ |
| C-101 | parseAndAssignFiltersでネストフィルタが処理される | E-10 (L52-96) | ○ |
| C-102 | parseAndAssignFiltersでフィールドエイリアスが処理される | E-10 (L202-209) | ○ |
| C-103 | toRemoteQueryがクエリオブジェクトを生成する | E-11 (L31-154) | ○ |
| C-104 | toRemoteQueryでネストフィールドが処理される | E-11 (L104-123) | ○ |
| C-105 | toRemoteQueryでページネーションが設定される | E-11 (L125-131) | ○ |
| C-106 | toRemoteQueryでQueryContextが処理される | E-11 (L71-89) | ○ |
| C-107 | toRemoteQueryでwithDeletedが設定される | E-11 (L139-142) | ○ |
| C-108 | toRemoteQueryでstrategyが設定される | E-11 (L133-137) | ○ |

### Utils / Definitions / Types
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-109 | linkingErrorMessageがdismissエラーメッセージを生成する | E-12 (L18-24) | ○ |
| C-110 | linkingErrorMessageがlinkエラーメッセージを生成する | E-12 (L18-24) | ○ |
| C-111 | convertRecordsToLinkDefinitionがレコードを変換する | E-13 (L4-36) | ○ |
| C-112 | convertRecordsToLinkDefinitionでextraDataFieldsが含まれる | E-13 (L22-30) | ○ |
| C-113 | convertRecordsToLinkDefinitionで空配列が処理される | E-13 (L13-14) | ○ |
| C-114 | ModulesDefinitionが全モジュール定義を含む | E-14 (L10-316) | ○ |
| C-115 | MODULE_DEFINITIONSが配列を生成する | E-14 (L318-319) | ○ |
| C-116 | MODULE_SCOPE.INTERNALが'internal'を返す | E-15 (L1-2) | ○ |
| C-117 | MODULE_SCOPE.EXTERNALが'external'を返す | E-15 (L3) | ○ |

## 4) 不足情報（Unknown / Missing）
- 根拠なしの項目はありません。すべてのテストケースはソースコードの実装に基づいて生成されています。

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

## 6) レビュアーチェックリスト（最小）
- [ ] MedusaModuleクラスのライフサイクル管理メソッド（onApplicationStart/Shutdown）のテストケースが適切か確認
- [ ] Linkクラスのカスケード削除/復元のテストケースが網羅的か確認
- [ ] RemoteQueryのバッチ処理境界値（MAX_BATCH_SIZE=4000）のテストケースが適切か確認
- [ ] loadInternalModuleのプロバイダー登録時のidentifier検証テストケースが網羅的か確認
- [ ] マイグレーション関連機能（migrateUp/Down/Generate）のテストケースがエッジケースをカバーしているか確認
- [ ] 外部モジュール（EXTERNAL scope）未サポートのエラーハンドリングテストケースが適切か確認
