- 看板首页 / :Zen Minimal × Future Organic 融合(用户裁定),编号索引+柔光光晕+GSAP克制动效,白皮书气质 - 素材库首页整体迁移至 /materials(含colocated测试),全站返回素材库链接同步清扫 - 组织架构页上移为顶层 /organization(保留云采石场契约注释),旧路径 /admin/org 服务端跳转;API 迁移 /api/organization(逻辑零改动) - 后台删除组织架构跳转按钮(白屏问题源头消失);middleware 增 /materials 登录门、/organization 管理员门 - 品牌统一:浅色顶栏用 loginLogoUrl(深色图案版),标题「由壹点·品牌中心」;字体自托管 @fontsource - 可访问性收尾(评审fix项):全文对比度过WCAG、焦点环、加载骨架防闪灰、移动端状态可见、::selection - PRODUCT.md/DESIGN.md 记录方向契约;测试基线 1815 通过/6 既有失败(无劣化)
22 lines
899 B
TypeScript
22 lines
899 B
TypeScript
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 会主动停止')
|
|
})
|
|
})
|