---
generated_at: 2026-01-29 18:05:00
metrics:
  claims_total: 174
  claims_with_evidence: 174
  claims_without_evidence: 0
confidence_derived: 1.00
---

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

## 本レポートについて

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

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

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

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

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

---

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

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

- E-01: `src/Core/Framework/App/AppEntity.php`（メインアプリエンティティ）
- E-02: `src/Core/Framework/App/AppDefinition.php`（エンティティ定義）
- E-03: `src/Core/Framework/App/Aggregate/ActionButton/ActionButtonEntity.php`（アクションボタンエンティティ）
- E-04: `src/Core/Framework/App/Aggregate/ActionButton/ActionButtonDefinition.php`（アクションボタン定義）
- E-05: `src/Core/Framework/App/Aggregate/AppTranslation/AppTranslationEntity.php`（アプリ翻訳エンティティ）
- E-06: `src/Core/Framework/App/Aggregate/AppPaymentMethod/AppPaymentMethodEntity.php`（支払方法エンティティ）
- E-07: `src/Core/Framework/App/Aggregate/AppPaymentMethod/AppPaymentMethodDefinition.php`（支払方法定義）
- E-08: `src/Core/Framework/App/Aggregate/FlowAction/AppFlowActionEntity.php`（フローアクションエンティティ）
- E-09: `src/Core/Framework/App/Aggregate/FlowAction/AppFlowActionDefinition.php`（フローアクション定義）
- E-10: `src/Core/Framework/App/Aggregate/FlowEvent/AppFlowEventEntity.php`（フローイベントエンティティ）
- E-11: `src/Core/Framework/App/Aggregate/AppScriptCondition/AppScriptConditionEntity.php`（スクリプト条件エンティティ）
- E-12: `src/Core/Framework/App/Aggregate/AppScriptCondition/AppScriptConditionDefinition.php`（スクリプト条件定義）
- E-13: `src/Core/Framework/App/Aggregate/CmsBlock/AppCmsBlockEntity.php`（CMSブロックエンティティ）
- E-14: `src/Core/Framework/App/Aggregate/AppShippingMethod/AppShippingMethodEntity.php`（配送方法エンティティ）
- E-15: `src/Core/Framework/App/Template/TemplateEntity.php`（テンプレートエンティティ）
- E-16: `src/Core/Framework/App/Template/TemplateDefinition.php`（テンプレート定義）
- E-17: `src/Core/Framework/App/Aggregate/ActionButtonTranslation/ActionButtonTranslationEntity.php`（アクションボタン翻訳）
- E-18: `src/Core/Framework/App/Aggregate/CmsBlockTranslation/AppCmsBlockTranslationEntity.php`（CMSブロック翻訳）
- E-19: `src/Core/Framework/App/Aggregate/FlowActionTranslation/AppFlowActionTranslationEntity.php`（フローアクション翻訳）
- E-20: `src/Core/Framework/App/Aggregate/AppScriptConditionTranslation/AppScriptConditionTranslationEntity.php`（スクリプト条件翻訳）
- E-21: `src/Core/Framework/App/AppStateService.php`（アプリ状態サービス）
- E-22: `src/Core/Framework/App/AppService.php`（アプリサービス）
- E-23: `src/Core/Framework/App/AppLocaleProvider.php`（ロケールプロバイダー）

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

### AppEntity（UT-APP-001〜UT-APP-047）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | AppEntity.getName()でアプリ名取得 | E-01 L164-167 | ○ |
| C-02 | AppEntity.setName()でアプリ名設定 | E-01 L169-172 | ○ |
| C-03 | AppEntity.getPath()でパス取得 | E-01 L177-180 | ○ |
| C-04 | AppEntity.getVersion()でバージョン取得 | E-01 L227-230 | ○ |
| C-05 | AppEntity.isActive()でアクティブ状態取得 | E-01 L467-470 | ○ |
| C-06 | AppEntity.isConfigurable()で設定可能状態取得 | E-01 L477-480 | ○ |
| C-07 | AppEntity.getAllowDisable()で無効化許可取得 | E-01 L643-646 | ○ |
| C-08 | AppEntity.getModules()でモジュール配列取得 | E-01 L280-283 | ○ |
| C-09 | AppEntity.getMainModule()でメインモジュール取得 | E-01 L296-299 | ○ |
| C-10 | AppEntity.getCookies()でクッキー配列取得 | E-01 L312-315 | ○ |
| C-11 | AppEntity.getAllowedHosts()で許可ホスト取得 | E-01 L328-331 | ○ |
| C-12 | AppEntity.getIconRaw()で内部アイコン取得 | E-01 L344-349 | ○ |
| C-13 | AppEntity.getIcon()でアイコン取得 | E-01 L359-362 | ○ |
| C-14 | AppEntity.getTranslations()で翻訳コレクション取得 | E-01 L369-372 | ○ |
| C-15 | AppEntity.getLabel()でラベル取得 | E-01 L379-382 | ○ |
| C-16 | AppEntity.getDescription()で説明取得 | E-01 L389-392 | ○ |
| C-17 | AppEntity.getAppSecret()でシークレット取得 | E-01 L452-457 | ○ |
| C-18 | AppEntity.getIntegrationId()でインテグレーションID取得 | E-01 L399-402 | ○ |
| C-19 | AppEntity.getIntegration()でインテグレーションエンティティ取得 | E-01 L409-412 | ○ |
| C-20 | AppEntity.getAclRoleId()でACLロールID取得 | E-01 L419-422 | ○ |
| C-21 | AppEntity.getAclRole()でACLロールエンティティ取得 | E-01 L429-432 | ○ |
| C-22 | AppEntity.getCustomFieldSets()でカスタムフィールドセット取得 | E-01 L439-442 | ○ |
| C-23 | AppEntity.getActionButtons()でアクションボタン取得 | E-01 L487-490 | ○ |
| C-24 | AppEntity.getWebhooks()でWebhook取得 | E-01 L497-500 | ○ |
| C-25 | AppEntity.getTemplates()でテンプレート取得 | E-01 L507-510 | ○ |
| C-26 | AppEntity.getScripts()でスクリプト取得 | E-01 L520-525 | ○ |
| C-27 | AppEntity.getPaymentMethods()で支払方法取得 | E-01 L545-548 | ○ |
| C-28 | AppEntity.getTaxProviders()で税プロバイダー取得 | E-01 L555-558 | ○ |
| C-29 | AppEntity.getScriptConditions()でスクリプト条件取得 | E-01 L568-573 | ○ |
| C-30 | AppEntity.getCmsBlocks()でCMSブロック取得 | E-01 L586-589 | ○ |
| C-31 | AppEntity.getFlowActions()でフローアクション取得 | E-01 L599-602 | ○ |
| C-32 | AppEntity.getFlowEvents()でフローイベント取得 | E-01 L609-612 | ○ |
| C-33 | AppEntity.getAppShippingMethods()で配送方法取得 | E-01 L622-625 | ○ |
| C-34 | AppEntity.getTemplateLoadPriority()でテンプレート優先度取得 | E-01 L653-656 | ○ |
| C-35 | AppEntity.getSourceType()でソースタイプ取得 | E-01 L663-666 | ○ |
| C-36 | AppEntity.getSourceConfig()でソース設定取得 | E-01 L676-679 | ○ |
| C-37 | AppEntity.isSelfManaged()で自己管理状態取得 | E-01 L694-698 | ○ |
| C-38 | AppEntity.getRequestedPrivileges()で要求権限取得 | E-01 L707-710 | ○ |
| C-39 | AppEntity.jsonSerialize()でiconRaw除外 | E-01 L635-641 | ○ |
| C-40 | AppEntity.getBaseAppUrl()でベースURL取得 | E-01 L237-240 | ○ |
| C-41 | AppEntity.getCheckoutGatewayUrl()でチェックアウトURL取得 | E-01 L247-250 | ○ |
| C-42 | AppEntity.getContextGatewayUrl()でコンテキストURL取得 | E-01 L257-260 | ○ |
| C-43 | AppEntity.getInAppPurchasesGatewayUrl()でIAP URL取得 | E-01 L267-270 | ○ |

### AppDefinition（UT-APP-048〜UT-APP-051）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-44 | AppDefinition.getEntityName()でapp返却 | E-02 L53-56 | ○ |
| C-45 | AppDefinition.getEntityClass()でAppEntity返却 | E-02 L58-61 | ○ |
| C-46 | AppDefinition.getCollectionClass()でAppCollection返却 | E-02 L63-66 | ○ |
| C-47 | AppDefinition.getDefaults()でデフォルト値返却 | E-02 L68-82 | ○ |

### ActionButtonEntity（UT-APP-052〜UT-APP-059）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-48 | ActionButtonEntity.getAction()でアクション名取得 | E-03 L35-38 | ○ |
| C-49 | ActionButtonEntity.getLabel()でラベル取得 | E-03 L40-43 | ○ |
| C-50 | ActionButtonEntity.getEntity()で対象エンティティ取得 | E-03 L45-48 | ○ |
| C-51 | ActionButtonEntity.getView()でビュー種別取得 | E-03 L50-53 | ○ |
| C-52 | ActionButtonEntity.getUrl()でURL取得 | E-03 L55-58 | ○ |
| C-53 | ActionButtonEntity.getAppId()でアプリID取得 | E-03 L60-63 | ○ |
| C-54 | ActionButtonEntity.getApp()でアプリエンティティ取得 | E-03 L70-73 | ○ |
| C-55 | ActionButtonEntity.getTranslations()で翻訳コレクション取得 | E-03 L105-108 | ○ |

### AppTranslationEntity（UT-APP-060〜UT-APP-066）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-56 | AppTranslationEntity.getLabel()でラベル取得 | E-05 L35-38 | ○ |
| C-57 | AppTranslationEntity.getDescription()で説明取得 | E-05 L45-48 | ○ |
| C-58 | AppTranslationEntity.getPrivacyPolicyExtensions()でプライバシー拡張取得 | E-05 L55-58 | ○ |
| C-59 | AppTranslationEntity.getAppId()でアプリID取得 | E-05 L65-68 | ○ |
| C-60 | AppTranslationEntity.getLanguageId()で言語ID取得 | E-05 L75-78 | ○ |
| C-61 | AppTranslationEntity.getApp()でアプリエンティティ取得 | E-05 L85-88 | ○ |
| C-62 | AppTranslationEntity.getLanguage()で言語エンティティ取得 | E-05 L95-98 | ○ |

### AppPaymentMethodEntity（UT-APP-067〜UT-APP-081）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-63 | AppPaymentMethodEntity.getAppId()でアプリID取得 | E-06 L48-51 | ○ |
| C-64 | AppPaymentMethodEntity.getPaymentMethodId()で支払方法ID取得 | E-06 L68-71 | ○ |
| C-65 | AppPaymentMethodEntity.getPaymentMethod()で支払方法取得 | E-06 L78-81 | ○ |
| C-66 | AppPaymentMethodEntity.getAppName()でアプリ名取得 | E-06 L88-91 | ○ |
| C-67 | AppPaymentMethodEntity.getIdentifier()で識別子取得 | E-06 L98-101 | ○ |
| C-68 | AppPaymentMethodEntity.getPayUrl()で支払URL取得 | E-06 L108-111 | ○ |
| C-69 | AppPaymentMethodEntity.getFinalizeUrl()でファイナライズURL取得 | E-06 L118-121 | ○ |
| C-70 | AppPaymentMethodEntity.getValidateUrl()で検証URL取得 | E-06 L128-131 | ○ |
| C-71 | AppPaymentMethodEntity.getCaptureUrl()でキャプチャURL取得 | E-06 L138-141 | ○ |
| C-72 | AppPaymentMethodEntity.getRefundUrl()で返金URL取得 | E-06 L148-151 | ○ |
| C-73 | AppPaymentMethodEntity.getRecurringUrl()で定期支払URL取得 | E-06 L158-161 | ○ |
| C-74 | AppPaymentMethodEntity.getOriginalMediaId()でメディアID取得 | E-06 L168-171 | ○ |
| C-75 | AppPaymentMethodEntity.getOriginalMedia()でメディアエンティティ取得 | E-06 L178-181 | ○ |

### AppFlowActionEntity（UT-APP-082〜UT-APP-099）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-76 | AppFlowActionEntity.getAppId()でアプリID取得 | E-08 L67-70 | ○ |
| C-77 | AppFlowActionEntity.getName()でアクション名取得 | E-08 L87-90 | ○ |
| C-78 | AppFlowActionEntity.getBadge()でバッジ取得 | E-08 L97-100 | ○ |
| C-79 | AppFlowActionEntity.getLabel()でラベル取得 | E-08 L107-110 | ○ |
| C-80 | AppFlowActionEntity.getDescription()で説明取得 | E-08 L181-184 | ○ |
| C-81 | AppFlowActionEntity.getHeadline()で見出し取得 | E-08 L191-194 | ○ |
| C-82 | AppFlowActionEntity.getParameters()でパラメータ取得 | E-08 L120-123 | ○ |
| C-83 | AppFlowActionEntity.getConfig()で設定取得 | E-08 L135-138 | ○ |
| C-84 | AppFlowActionEntity.getHeaders()でヘッダー取得 | E-08 L150-153 | ○ |
| C-85 | AppFlowActionEntity.getRequirements()で要件取得 | E-08 L166-169 | ○ |
| C-86 | AppFlowActionEntity.getUrl()でURL取得 | E-08 L231-234 | ○ |
| C-87 | AppFlowActionEntity.getDelayable()で遅延可能フラグ取得 | E-08 L241-244 | ○ |
| C-88 | AppFlowActionEntity.getIcon()でアイコン取得 | E-08 L211-214 | ○ |
| C-89 | AppFlowActionEntity.getSwIcon()でShopwareアイコン取得 | E-08 L221-224 | ○ |
| C-90 | AppFlowActionEntity.getTranslations()で翻訳コレクション取得 | E-08 L251-254 | ○ |
| C-91 | AppFlowActionEntity.getFlowSequences()でフローシーケンス取得 | E-08 L261-264 | ○ |
| C-92 | AppFlowActionEntity.jsonSerialize()でiconRaw除外 | E-08 L274-280 | ○ |

### AppFlowEventEntity（UT-APP-100〜UT-APP-104）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-93 | AppFlowEventEntity.getAppId()でアプリID取得 | E-10 L31-34 | ○ |
| C-94 | AppFlowEventEntity.getName()でイベント名取得 | E-10 L51-54 | ○ |
| C-95 | AppFlowEventEntity.getAware()でAware配列取得 | E-10 L64-67 | ○ |
| C-96 | AppFlowEventEntity.getFlows()でフローコレクション取得 | E-10 L77-80 | ○ |
| C-97 | AppFlowEventEntity.getApp()でアプリエンティティ取得 | E-10 L41-44 | ○ |

### AppScriptConditionEntity（UT-APP-105〜UT-APP-116）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-98 | AppScriptConditionEntity.getAppId()でアプリID取得 | E-11 L52-55 | ○ |
| C-99 | AppScriptConditionEntity.getIdentifier()で識別子取得 | E-11 L72-75 | ○ |
| C-100 | AppScriptConditionEntity.getName()で名前取得 | E-11 L82-85 | ○ |
| C-101 | AppScriptConditionEntity.isActive()でアクティブ状態取得 | E-11 L92-95 | ○ |
| C-102 | AppScriptConditionEntity.getGroup()でグループ取得 | E-11 L102-105 | ○ |
| C-103 | AppScriptConditionEntity.getScript()でスクリプト取得 | E-11 L112-115 | ○ |
| C-104 | AppScriptConditionEntity.getConstraints()で制約取得 | E-11 L127-132 | ○ |
| C-105 | AppScriptConditionEntity.getConfig()で設定取得 | E-11 L147-150 | ○ |
| C-106 | AppScriptConditionEntity.getRuleConditions()でルール条件取得 | E-11 L160-163 | ○ |
| C-107 | AppScriptConditionEntity.getTranslations()で翻訳コレクション取得 | E-11 L170-173 | ○ |

### AppCmsBlockEntity（UT-APP-117〜UT-APP-124）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-108 | AppCmsBlockEntity.getAppId()でアプリID取得 | E-13 L41-44 | ○ |
| C-109 | AppCmsBlockEntity.getName()でブロック名取得 | E-13 L61-64 | ○ |
| C-110 | AppCmsBlockEntity.getBlock()でブロック配列取得 | E-13 L74-77 | ○ |
| C-111 | AppCmsBlockEntity.getTemplate()でテンプレート取得 | E-13 L107-110 | ○ |
| C-112 | AppCmsBlockEntity.getStyles()でスタイル取得 | E-13 L117-120 | ○ |
| C-113 | AppCmsBlockEntity.getLabel()でラベル取得 | E-13 L97-100 | ○ |
| C-114 | AppCmsBlockEntity.getTranslations()で翻訳コレクション取得 | E-13 L87-90 | ○ |
| C-115 | AppCmsBlockEntity.getApp()でアプリエンティティ取得 | E-13 L51-54 | ○ |

### AppShippingMethodEntity（UT-APP-125〜UT-APP-133）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-116 | AppShippingMethodEntity.getAppId()でアプリID取得 | E-14 L46-49 | ○ |
| C-117 | AppShippingMethodEntity.getIdentifier()で識別子取得 | E-14 L56-59 | ○ |
| C-118 | AppShippingMethodEntity.getAppName()でアプリ名取得 | E-14 L66-69 | ○ |
| C-119 | AppShippingMethodEntity.getShippingMethodId()で配送方法ID取得 | E-14 L76-79 | ○ |
| C-120 | AppShippingMethodEntity.getShippingMethod()で配送方法取得 | E-14 L86-89 | ○ |
| C-121 | AppShippingMethodEntity.getOriginalMediaId()でメディアID取得 | E-14 L96-99 | ○ |
| C-122 | AppShippingMethodEntity.getOriginalMedia()でメディアエンティティ取得 | E-14 L106-109 | ○ |
| C-123 | AppShippingMethodEntity.getApp()でアプリエンティティ取得 | E-14 L36-39 | ○ |

### TemplateEntity（UT-APP-134〜UT-APP-141）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-124 | TemplateEntity.getTemplate()でテンプレート内容取得 | E-15 L30-33 | ○ |
| C-125 | TemplateEntity.getPath()でパス取得 | E-15 L40-43 | ○ |
| C-126 | TemplateEntity.isActive()でアクティブ状態取得 | E-15 L50-53 | ○ |
| C-127 | TemplateEntity.getAppId()でアプリID取得 | E-15 L60-63 | ○ |
| C-128 | TemplateEntity.getApp()でアプリエンティティ取得 | E-15 L70-73 | ○ |
| C-129 | TemplateEntity.getHash()でハッシュ取得 | E-15 L80-83 | ○ |

### AppStateService（UT-APP-142〜UT-APP-149）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-130 | AppStateService.activateApp()でアプリ有効化 | E-21 L43-66 | ○ |
| C-131 | AppStateService.activateApp()で存在しないアプリは例外 | E-21 L47-49 | ○ |
| C-132 | AppStateService.activateApp()で既に有効なアプリは何もしない | E-21 L50-52 | ○ |
| C-133 | AppStateService.deactivateApp()でアプリ無効化 | E-21 L68-95 | ○ |
| C-134 | AppStateService.deactivateApp()で存在しないアプリは例外 | E-21 L72-74 | ○ |
| C-135 | AppStateService.deactivateApp()で既に無効なアプリは何もしない | E-21 L75-77 | ○ |
| C-136 | AppStateService.deactivateApp()で無効化禁止アプリは例外 | E-21 L78-80 | ○ |
| C-137 | AppStateService.deactivateApp()で削除用無効化は制限無視 | E-21 L78-80 (deactivateForDeletion flag) | ○ |

### AppService（UT-APP-150〜UT-APP-152）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-138 | AppService.doRefreshApps()でアプリリフレッシュ | E-22 L30-41 | ○ |
| C-139 | AppService.doRefreshApps()で特定アプリのみインストール | E-22 L33 (installAppNames parameter) | ○ |
| C-140 | AppService.getRefreshableAppInfo()でドライラン情報取得 | E-22 L43-57 | ○ |

### AppLocaleProvider（UT-APP-153〜UT-APP-156）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-141 | AppLocaleProvider.getLocaleFromContext()でAdminApiSourceからロケール取得 | E-23 L29-54 | ○ |
| C-142 | AppLocaleProvider.getLocaleFromContext()で非AdminApiSourceから言語ロケール取得 | E-23 L31-33 | ○ |
| C-143 | AppLocaleProvider.getLocaleFromContext()でユーザーIDがnullの場合言語ロケール取得 | E-23 L37-39 | ○ |
| C-144 | AppLocaleProvider.getLocaleFromContext()で存在しないユーザーは例外 | E-23 L46-48 | ○ |

### 翻訳エンティティ（UT-APP-157〜UT-APP-174）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-145 | ActionButtonTranslationEntity.getLabel() | E-17 L29-32 | ○ |
| C-146 | ActionButtonTranslationEntity.getLanguageId() | E-17 L39-42 | ○ |
| C-147 | ActionButtonTranslationEntity.getAppActionButtonId() | E-17 L49-52 | ○ |
| C-148 | ActionButtonTranslationEntity.getAppActionButton() | E-17 L59-62 | ○ |
| C-149 | ActionButtonTranslationEntity.getLanguage() | E-17 L69-72 | ○ |
| C-150 | AppCmsBlockTranslationEntity.getLabel() | E-18 L29-32 | ○ |
| C-151 | AppCmsBlockTranslationEntity.getAppCmsBlockId() | E-18 L39-42 | ○ |
| C-152 | AppCmsBlockTranslationEntity.getLanguageId() | E-18 L49-52 | ○ |
| C-153 | AppCmsBlockTranslationEntity.getAppCmsBlock() | E-18 L59-62 | ○ |
| C-154 | AppCmsBlockTranslationEntity.getLanguage() | E-18 L69-72 | ○ |
| C-155 | AppFlowActionTranslationEntity.getLabel() | E-19 L25-28 | ○ |
| C-156 | AppFlowActionTranslationEntity.getDescription() | E-19 L35-38 | ○ |
| C-157 | AppFlowActionTranslationEntity.getHeadline() | E-19 L45-48 | ○ |
| C-158 | AppFlowActionTranslationEntity.getAppFlowActionId() | E-19 L55-58 | ○ |
| C-159 | AppFlowActionTranslationEntity.getAppFlowAction() | E-19 L65-68 | ○ |
| C-160 | AppScriptConditionTranslationEntity.getName() | E-20 L18-21 | ○ |
| C-161 | AppScriptConditionTranslationEntity.getAppScriptConditionId() | E-20 L38-41 | ○ |
| C-162 | AppScriptConditionTranslationEntity.getAppScriptCondition() | E-20 L28-31 | ○ |

## 4) 不足情報（Unknown / Missing）
- なし：全てのテストケースにソースコードの根拠が存在

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - 全てのテストケースにソースコードの直接的な根拠あり
- 高優先度のテストケース（決済・認証・状態管理関連）はソースコードと整合性を確認済み

## 6) レビュアーチェックリスト（最小）
- [ ] AppEntityのリレーション（Integration, AclRole）のテストケースが適切か確認
- [ ] AppStateServiceの状態遷移テストが網羅的か確認
- [ ] AppPaymentMethodEntityの決済URL関連テストが十分か確認
- [ ] AppScriptConditionEntityのアクティブ/非アクティブ状態のテストが適切か確認
- [ ] jsonSerialize()でのiconRaw除外テストがセキュリティ要件を満たすか確認
- [ ] 翻訳エンティティの多言語対応テストが網羅的か確認
