fix: align signature review and admin operations
This commit is contained in:
@@ -3668,7 +3668,7 @@ npm run verify:phase8
|
||||
| TC-RECEIPT-IDEMPOTENT-001 | 顺序和并发重复发送相同 DELIVRD,随后重启服务并再次发送。 | `receiptKey` 唯一约束保证只保存一次、只下发一次客户回执,且不重复计费或退款;重启后行为一致。 |
|
||||
| TC-REPORT-RECALC-001 | 插入一条成功、一条失败及扣费/退款流水,执行指定日期重算两次,再查询应用和通道报表及 CSV。 | 两次结果一致;发送 2、成功 1、失败 1;收入、退款、成本和利润使用相同金额单位且 `利润=收入-成本`;平均到达时长来自真实提交/回执时间。 |
|
||||
| TC-USER-SAFE-001 | 分别查询运营端、客户端用户列表和详情,并尝试跨租户访问。 | 响应不含 `passwordHash`、`sessionVersion`、密钥或认证内部字段;跨租户查询、更新、改密、禁用和删除由 API 拒绝。 |
|
||||
| TC-USER-CONTINUITY-001 | 当前用户删除/停用自己,删除或降权最后一个平台管理员、最后一个企业管理员,并创建重复用户名。 | 前三类操作返回 403;最后管理员保护生效;唯一冲突返回 409 和冲突字段,不出现 500。 |
|
||||
| TC-USER-CONTINUITY-001 | 当前用户删除/停用自己,删除或降权最后一个平台管理员、删除或停用最后一个企业管理员,并创建重复用户名。 | 自删除/自停用返回403;最后一个平台管理员保护生效;最后一个企业管理员允许删除或停用;唯一冲突返回409和冲突字段,不出现500。 |
|
||||
| TC-HTTP-SEND-002 | 仅传 `mobile/content`,正文使用已审核签名及 `${code}` 模板,调用公开发送接口并重放同一幂等键。 | 自动识别签名/模板并提取合法变量,经真实发送链返回 202、稳定 messageId;相同请求返回同一结果,不出现批次 404。 |
|
||||
| TC-TEMPLATE-VARIABLE-001 | 提交空变量、未闭合、中文、重复、超长和非法字符变量,再查看发送候选。 | 前后端均拒绝非法变量;候选只含 approved 签名/模板,disabled/rejected 仅在历史管理视图显示。 |
|
||||
| TC-REPORT-MATERIAL-SAFE-001 | 下载官方 XLSX;按筛选导出;导入空文件、错误扩展名、超限文件、含公式/脚本单元格及部分错误行文件。 | 模板和导出为真实 XLSX;危险文件在入库前拒绝,部分失败保留行级原因;日志含操作人、文件名、筛选和计数,不含敏感请求体。 |
|
||||
@@ -3691,7 +3691,7 @@ npm run verify:phase8
|
||||
| TC-USER-REUSE-002 | 两个未删除用户并发提交相同用户名、邮箱或手机号。 | PostgreSQL仅允许一个请求成功,另一个返回HTTP 409、`USER_DUPLICATE`、冲突字段和中文提示,不产生两个活动账号。 |
|
||||
| TC-USER-FILTER-001 | 在运营端分别及组合填写用户姓名、登录账号、所属企业、用户角色和状态,点击查询,再点击重置。 | 每次操作请求真实`GET /api/admin/users`;条件分别生效,组合使用AND,登录账号匹配用户名/邮箱/手机号;重置返回全部未删除用户。 |
|
||||
| TC-USER-FILTER-002 | 在客户端分别及组合填写用户姓名、登录账号和状态。 | 请求真实`GET /api/client/users`;只返回当前企业管理员,无法通过查询参数跨租户或查询平台管理员。 |
|
||||
| TC-USER-CONTINUITY-UI-001 | 删除、禁用或降权最后一个平台管理员及某企业最后一个启用管理员。 | 后端返回权威冲突;确认弹窗保持打开并显示红色可访问错误及“先创建或启用另一名管理员”建议,按钮结束忙碌状态,浏览器无未处理Promise。 |
|
||||
| TC-USER-CONTINUITY-UI-001 | 删除、禁用或降权最后一个平台管理员,再删除或停用某企业最后一个启用管理员。 | 平台管理员操作由后端权威拦截并在确认弹窗显示建议;企业管理员操作成功且可归零;按钮结束忙碌状态,浏览器无未处理Promise。 |
|
||||
| TC-USER-CONTINUITY-UI-002 | 为相同范围增加另一名启用管理员后重复删除或禁用。 | 操作成功、弹窗关闭、列表按当前已应用查询条件刷新,并写入对应OperationLog。 |
|
||||
|
||||
### 17.17 2026-07-21 下游连接恢复与历史回执回填
|
||||
@@ -3930,3 +3930,20 @@ npm run verify:phase8
|
||||
| TC-CHANNEL-REPORT-STATS-002 | 同一签名有直接短信和多个引流信息,展开具体引流任务 | 签名任务汇总当前通道下该签名全部发送;具体引流任务仅统计自身,不串入同签名其他引流或直接短信 |
|
||||
| TC-CHANNEL-REPORT-STATS-003 | 当前统计范围有历史成功短信但今日无成功短信 | “上次发送成功时间”显示该范围最近一次最终成功时间,不以报备时间、最后更新时间或页面当前时间代替 |
|
||||
| TC-CHANNEL-REPORT-STATS-004 | 报备任务先提交、后由报备记录变为通过 | 列表和详情分别显示真实提交报备时间、最近一次报备成功时间、上次发送成功时间和今日统计;刷新后数据保持一致 |
|
||||
|
||||
## 2026-07-27 签名审核与运营端细节回归用例
|
||||
|
||||
| 用例编号 | 场景 | 预期结果 |
|
||||
|---|---|---|
|
||||
| TC-SIGNATURE-PREFLIGHT-001 | 应用通道只配置引流必填字段,客户端提交不含固定企业资质字段的签名 | 运营审核资格检查不出现公司名称、信用代码、法人、责任人或资质文件缺失,允许通过/驳回 |
|
||||
| TC-SIGNATURE-PREFLIGHT-002 | 提交快照包含签名必填文本和文件字段,分别缺失后预检 | 只按快照字段名称提示缺失;补齐`signatureReportValues`后允许通过;引流字段不参与 |
|
||||
| TC-ADMIN-NAV-003 | 展开审核中心并进入风控规则 | 风控规则位于最后一项,面包屑为“审核中心 / 风控规则” |
|
||||
| TC-SMS-DETAIL-004 | 查看经历首次提交和补发的短信详情,再修改应用路由 | 每次提交显示持久化通道组名称;路由修改后历史归因不变化;旧数据迁移可确认部分已回填 |
|
||||
| TC-SMS-DETAIL-005 | 测试短信刚进入队列但尚无供应商回执 | 与普通待回执短信一致,不显示红色“运营端通道测试短信”失败框 |
|
||||
| TC-SEGMENT-AUDIT-006 | 构造多个不同时间和同时间分片审计 | 页面自上而下按审计时间升序,同时间按分片序号和主键稳定排序,并展示审计时间 |
|
||||
| TC-DASHBOARD-SIGNATURE-007 | 当日同一签名包含accepted、rejected、timeout及回执失败 | 表格独立展示提交失败;送达失败仅包含已受理后的失败,成功率分母为已受理数 |
|
||||
| TC-DASHBOARD-SPEND-008 | 两企业当日分别产生计费、退款和手工充值 | 排行只汇总当前仍为charged的当日计费;充值不计消费,退款记录不计当前消费,排序与数据库一致 |
|
||||
| TC-CHANNEL-TEST-AUTOFILL-009 | 浏览器保存过网关密码,打开通道编辑和测试短信弹窗 | 密码只进入网关密码字段,不自动填入测试接入号;接入号可手工正常输入 |
|
||||
| TC-APP-ROUTE-WIDTH-010 | 企业应用通道组名称很长,分别使用桌面和窄屏 | 选择框及下拉选项不超出通道组卡片,长文本省略且可正常选择 |
|
||||
| TC-USER-ADMIN-011 | 删除/停用企业最后一个管理员,再删除/停用平台最后一个管理员 | 企业管理员操作成功并写日志;平台管理员操作仍返回`LAST_PLATFORM_ADMIN` |
|
||||
| TC-INPUT-ALIGN-012 | 打开新增用户弹窗,对比有提示和无提示的文本输入框 | 标签和输入控制区顶部对齐,提示文本仅占自身下方空间 |
|
||||
|
||||
Reference in New Issue
Block a user