34 lines
1.6 KiB
Markdown
34 lines
1.6 KiB
Markdown
## ADDED Requirements
|
|
|
|
### Requirement: Device Estimated Final Expiry Display
|
|
|
|
The device management list integration SHALL preserve and display the backend device-level estimated final package expiry fields without traversing bound cards or calculating package continuation dates in the frontend.
|
|
|
|
#### Scenario: Display exact device final expiry estimate
|
|
|
|
- **GIVEN** 设备列表接口返回 `expiry_estimate_status=exact` and `estimated_final_expires_at`
|
|
- **WHEN** 页面渲染设备列表行
|
|
- **THEN** 页面 MUST display a column labeled `预计套餐到期时间`
|
|
- **AND** 该列 MUST format and display `estimated_final_expires_at`
|
|
|
|
#### Scenario: Display activation-pending device final expiry
|
|
|
|
- **GIVEN** 设备列表接口返回待激活等不可预计的 `expiry_estimate_status`
|
|
- **WHEN** 页面渲染设备列表行
|
|
- **THEN** `预计套餐到期时间` MUST display `待激活后起算`
|
|
- **AND** 页面 MUST NOT traverse bound cards or display a fabricated date
|
|
|
|
#### Scenario: Highlight expiring device without reordering
|
|
|
|
- **GIVEN** 设备列表接口返回 `is_expiring=true` and `days_until_final_expiry`
|
|
- **WHEN** 页面渲染该设备的预计套餐到期时间
|
|
- **THEN** 页面 MUST apply the expiring visual treatment based on the backend fields
|
|
- **AND** 页面 MUST NOT change the ordinary device list sort order because of `is_expiring`
|
|
|
|
#### Scenario: Display no-package device placeholder
|
|
|
|
- **GIVEN** 设备列表记录没有可预计的最终到期时间
|
|
- **WHEN** 页面渲染预计套餐到期时间列
|
|
- **THEN** 页面 MUST display a stable placeholder
|
|
- **AND** 页面 MUST NOT use an individual package expiry as a substitute
|