gongxiangp2/lib/__tests__/task-detail-full-set.test.ts
chenpei 4712175cb0 feat(素材链路): 发布白底图双轨与AI生图回传能力
- 完成白底图 WebP 双轨接口、上传链路与预览缓存改造
- 新增 AI 生图平台成品回传接口、任务状态与表单规则
- 补齐 AI 生成标签、任务详情补全、相关测试与对接文档
2026-03-25 10:28:02 +08:00

69 lines
1.6 KiB
TypeScript

import {
deriveTaskDetailIsFullSet,
isTaskDetailFullSetFromAssets,
isTaskDetailFullSetFromUploadGroups,
} from '@/lib/task-detail-full-set'
describe('task-detail full-set rules', () => {
test('上传时主图、SKU 图、详情图齐全才算整套', () => {
expect(
isTaskDetailFullSetFromUploadGroups({
main: [{ id: 1 }],
sku: [{ id: 2 }],
detail: [{ id: 3 }],
}),
).toBe(true)
expect(
isTaskDetailFullSetFromUploadGroups({
main: [{ id: 1 }],
sku: [{ id: 2 }],
detail: [],
}),
).toBe(false)
})
test('历史素材可通过预览图或分类包资产自动识别整套', () => {
expect(
isTaskDetailFullSetFromAssets([
{ assetType: 'main-preview' },
{ assetType: 'sku' },
{ assetType: 'detail-preview' },
]),
).toBe(true)
expect(
isTaskDetailFullSetFromAssets([
{ assetType: 'main-preview' },
{ assetType: 'detail-preview' },
]),
).toBe(false)
})
test('只有任务-详情类型才使用整套自动判定', () => {
expect(
deriveTaskDetailIsFullSet(
'任务-详情',
[
{ assetType: 'main-preview' },
{ assetType: 'sku-preview' },
{ assetType: 'detail-preview' },
],
false,
),
).toBe(true)
expect(
deriveTaskDetailIsFullSet(
'音乐',
[
{ assetType: 'main-preview' },
{ assetType: 'sku-preview' },
{ assetType: 'detail-preview' },
],
true,
),
).toBe(false)
})
})