38 lines
1.5 KiB
TypeScript
38 lines
1.5 KiB
TypeScript
import {
|
|
extractSpuFromFileName,
|
|
getMainFileAccept,
|
|
isValidMainFileType,
|
|
} from '@/components/upload/upload-utils'
|
|
|
|
describe('upload-utils video types', () => {
|
|
test('抖音新视频类型只接受视频文件', () => {
|
|
const validVideo = new File(['video'], 'sample.mp4', { type: 'video/mp4' })
|
|
const invalidZip = new File(['zip'], 'sample.zip', { type: 'application/zip' })
|
|
|
|
expect(isValidMainFileType(validVideo, '抖音-千川素材')).toBe(true)
|
|
expect(isValidMainFileType(validVideo, '抖音-账号维护')).toBe(true)
|
|
expect(isValidMainFileType(invalidZip, '抖音-千川素材')).toBe(false)
|
|
expect(isValidMainFileType(invalidZip, '抖音-账号维护')).toBe(false)
|
|
})
|
|
|
|
test('新视频类型的 accept 与原主图视频保持一致', () => {
|
|
expect(getMainFileAccept('淘系-主图视频')).toBe('.mp4,.mov,.avi,.mkv,.mts,.m4v')
|
|
expect(getMainFileAccept('抖音-千川素材')).toBe('.mp4,.mov,.avi,.mkv,.mts,.m4v')
|
|
expect(getMainFileAccept('抖音-账号维护')).toBe('.mp4,.mov,.avi,.mkv,.mts,.m4v')
|
|
})
|
|
|
|
test.each([
|
|
['抖音素材-624-456.mp4', ''],
|
|
['视频-624-470.mp4', ''],
|
|
['624-456.mp4', ''],
|
|
['GBPM-SN0204-展示.mp4', ''],
|
|
['DF-A3DZ0008.mp4', 'DF-A3DZ0008'],
|
|
['626DNZ0385-1.mp4', '626DNZ0385-1'],
|
|
['XY-2024-001.mp4', 'XY-2024-001'],
|
|
['GBGJ-DNZ0366+GBGJ-SJ0251.mp4', 'GBGJ-DNZ0366+GBGJ-SJ0251'],
|
|
['GBPM-SN0204K12.mp4', 'GBPM-SN0204K12'],
|
|
])('从 %s 只提取可确认的 SPU', (fileName, expected) => {
|
|
expect(extractSpuFromFileName(fileName)).toBe(expected)
|
|
})
|
|
})
|