46 lines
2.2 KiB
Markdown
46 lines
2.2 KiB
Markdown
## ADDED Requirements
|
|
|
|
### Requirement: Asset Virtual Traffic Progress Uses Real Total
|
|
|
|
The asset information page SHALL calculate the `虚流量使用` progress percentage with `virtual_used_mb / real_total_mb` in both the `当前生效套餐` card and the `套餐列表` package rows.
|
|
|
|
The progress bar denominator MUST be `real_total_mb` even when the display text also shows `virtual_total_mb`, stop threshold, or other virtual traffic threshold values.
|
|
|
|
When `real_total_mb` is missing, empty, or less than or equal to zero, the progress percentage MUST be treated as `0` and MUST NOT render `NaN`, `Infinity`, or a broken progress bar.
|
|
|
|
#### Scenario: Current package virtual progress uses real total
|
|
|
|
- **GIVEN** 用户正在资产信息页查看 `当前生效套餐`
|
|
- **AND** 当前套餐的 `virtual_used_mb` 为 `20`
|
|
- **AND** 当前套餐的 `real_total_mb` 为 `100`
|
|
- **WHEN** 页面渲染 `虚流量使用` 进度条
|
|
- **THEN** 进度条百分比 MUST 按 `20 / 100` 计算
|
|
- **AND** 进度条 MUST 显示为 `20%`
|
|
|
|
#### Scenario: Package list virtual progress uses real total
|
|
|
|
- **GIVEN** 用户正在资产信息页查看 `套餐列表`
|
|
- **AND** 某条套餐记录的 `virtual_used_mb` 为 `20`
|
|
- **AND** 该记录的 `real_total_mb` 为 `100`
|
|
- **WHEN** 页面渲染该记录的 `虚流量使用` 进度条
|
|
- **THEN** 进度条百分比 MUST 按 `20 / 100` 计算
|
|
- **AND** 进度条 MUST 显示为 `20%`
|
|
|
|
#### Scenario: Virtual threshold does not control progress denominator
|
|
|
|
- **GIVEN** `虚流量使用` 展示区域同时展示停机阈值或 `virtual_total_mb`
|
|
- **AND** `virtual_used_mb` 为 `20`
|
|
- **AND** `real_total_mb` 为 `100`
|
|
- **AND** `virtual_total_mb` 为 `50`
|
|
- **WHEN** 页面渲染 `虚流量使用` 进度条
|
|
- **THEN** 进度条百分比 MUST 按 `virtual_used_mb / real_total_mb` 计算
|
|
- **AND** 进度条 MUST NOT 按 `virtual_used_mb / virtual_total_mb` 计算
|
|
|
|
#### Scenario: Missing or zero real total renders stable zero progress
|
|
|
|
- **GIVEN** `虚流量使用` 展示区域需要渲染进度条
|
|
- **AND** `real_total_mb` 缺失、为空或小于等于 `0`
|
|
- **WHEN** 页面计算虚流量进度条百分比
|
|
- **THEN** 进度条百分比 MUST 为 `0`
|
|
- **AND** 页面 MUST NOT 显示 `NaN`、`Infinity` 或发生渲染异常
|