import assert from 'node:assert/strict' import { readFileSync } from 'node:fs' import test from 'node:test' const panel = readFileSync( new URL('../src/pages/admin/AdminFulfillmentChannelPage.tsx', import.meta.url), 'utf8', ) test('待分类队列按问题类型拆分动作', () => { assert.ok(panel.includes('去补配置')) assert.ok(panel.includes('处理人工复核')) assert.ok(panel.includes('确认重试')) assert.ok(panel.includes('解除锁定')) assert.ok(panel.includes('等待补配置')) assert.ok(panel.includes('用户已申请退款')) assert.ok(panel.includes('上游履约已取消')) assert.ok(panel.includes('PENDING_ISSUE_CATEGORY_OPTIONS')) assert.ok(panel.includes("label: '配置待补'")) assert.ok(panel.includes("label: '售后关闭'")) }) test('重开历史载体必须二次确认且不会处理锁定项', () => { assert.ok(panel.includes('确认重开履约载体')) assert.ok(panel.includes('retryInactiveCarrier: true')) assert.ok(panel.includes('不会重开失败或关闭的旧任务')) assert.ok(panel.includes('unlockPendingChannelGroup')) assert.ok(panel.includes('hasOnlyRetryableIssues')) assert.ok(panel.includes('issueCodes: retryableIssueCodes')) assert.ok(panel.includes('issueCodes: autoRetryableIssueCodes')) assert.ok(!panel.includes('PENDING_RETRYABLE_TERMINAL_REASONS')) })