3.0 KiB
3.0 KiB
ADDED Requirements
Requirement: Asset Estimated Final Expiry Contract
The admin asset information integration SHALL preserve estimated_final_expires_at, days_until_final_expiry, expiry_estimate_status, and is_expiring returned by GET /api/admin/assets/resolve/{identifier}.
Scenario: Preserve an exact final expiry estimate
- GIVEN 用户查询后台资产详情
- WHEN
GET /api/admin/assets/resolve/{identifier}returnsexpiry_estimate_status=exact - THEN 前端状态 MUST preserve
estimated_final_expires_atasstring | null - AND 前端状态 MUST preserve
days_until_final_expiryasnumber | null - AND 前端状态 MUST preserve
is_expiringas a boolean
Scenario: Preserve an unavailable final expiry estimate
- GIVEN 用户查询后台资产详情
- WHEN 接口返回待激活或其他不可预计的
expiry_estimate_status - THEN 前端状态 MUST preserve
expiry_estimate_status - AND 前端 MUST NOT derive
estimated_final_expires_atfrom current-package or package-detail fields
Requirement: Asset Estimated Final Expiry Display
The admin asset information view SHALL display one asset-level field labeled 预计套餐到期时间 for the current primary package and all queued primary packages, without replacing individual package expiry dates in package details.
Scenario: Display an exact final expiry date
- GIVEN 资产详情返回
expiry_estimate_status=exact - AND
estimated_final_expires_athas a value - WHEN 页面渲染卡资产或设备资产基础信息
- THEN 页面 MUST display
预计套餐到期时间 - AND 页面 MUST format and display
estimated_final_expires_at
Scenario: Display activation-pending final expiry
- GIVEN 资产详情返回等待激活等不可预计的
expiry_estimate_status - WHEN 页面渲染卡资产或设备资产基础信息
- THEN
预计套餐到期时间MUST display待激活后起算 - AND 页面 MUST NOT display a fabricated date
Scenario: Display no-package placeholder
- GIVEN 资产没有当前或排队主套餐
- AND
estimated_final_expires_atis null or absent - WHEN 页面渲染资产基础信息
- THEN
预计套餐到期时间MUST display a stable placeholder - AND 页面 MUST NOT substitute the current package detail expiry date
Scenario: Highlight backend-designated expiring asset
- GIVEN 资产详情返回
is_expiring=true - WHEN 页面渲染
预计套餐到期时间 - THEN 页面 MUST apply the expiring visual treatment using
days_until_final_expiry - AND 页面 MUST NOT derive whether the asset is expiring from a locally calculated date difference
Scenario: Preserve package detail expiry semantics
- GIVEN 用户查看资产详情中的套餐明细
- WHEN 页面渲染单个套餐的到期时间
- THEN 页面 MUST continue to display that package's own expiry field in the package detail context
- AND 页面 MUST NOT replace it with
estimated_final_expires_at