2.3 KiB
2.3 KiB
ADDED Requirements
Requirement: Refund List Approval Summary Contract
The GET /api/admin/refunds list-item contract SHALL support submitter_name, approval_source, approval_status, approval_status_name, current_approver_summary, processing_status, and processing_status_name.
Scenario: Receive refund approval summary fields
- GIVEN 后台退款列表接口返回退款记录
- WHEN 前端解析列表响应
- THEN 退款列表项类型 MUST preserve all approval and processing summary fields
- AND 页面 MUST NOT request an individual approval-detail API to populate the row
Requirement: Refund List Approval And Processing Display
The refund management list SHALL display 提交人, 审批状态, 当前审批人摘要, and 业务处理状态 as distinct columns based on backend summary fields.
Scenario: Display refund with no approval source
- GIVEN 退款记录的
approval_source=none - WHEN 页面渲染退款列表行
- THEN
审批状态MUST display- - AND
当前审批人摘要MUST display-
Scenario: Display legacy refund approval read-only
- GIVEN 退款记录的
approval_source=legacy - WHEN 页面渲染退款列表行
- THEN
审批状态MUST display历史审批 - AND 页面 MUST NOT add an approval operation button for that historical approval
Scenario: Display WeCom refund approval summary
- GIVEN 退款记录的
approval_source=wecom - WHEN 页面渲染退款列表行
- THEN
审批状态MUST display backendapproval_status_name - AND
当前审批人摘要MUST display backendcurrent_approver_summary - AND
业务处理状态MUST independently display backendprocessing_status_name
Scenario: View long refund approver summary
- GIVEN 退款记录的
current_approver_summaryexceeds its table cell width - WHEN 页面渲染当前审批人摘要列
- THEN 摘要 MUST be visually truncated in the cell
- AND 用户 MUST be able to view the complete backend text on hover
Scenario: Paginate refunds without per-row approval requests
- WHEN 用户切换退款列表页码或刷新列表
- THEN 页面 MUST use the refund list API response for approval summaries
- AND 页面 MUST NOT issue approval-detail requests per refund row