import { readFileSync } from 'fs' import path from 'path' describe('素材库首页视频转码状态轮询边界', () => { test('轮询只读状态,不得静默触发强制重试写请求', () => { const source = readFileSync(path.join(process.cwd(), 'app/materials/page.tsx'), 'utf8') const pollBody = source.split('const poll = async () => {')[1]?.split('// 标记为正在轮询')[0] expect(pollBody).toBeTruthy() expect(pollBody).not.toContain("method: 'POST'") expect(pollBody).not.toContain('forceRetry') }) test('不能用固定30分钟上限停止仍在排队或处理中的视频', () => { const source = readFileSync(path.join(process.cwd(), 'app/materials/page.tsx'), 'utf8') expect(source).not.toContain('30 * 60 * 1000') expect(source).not.toContain('transcodeStartTimes') expect(source).toContain('done/failed 会主动停止') }) })