69 lines
1.6 KiB
TypeScript
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)
|
|
})
|
|
})
|