24 lines
850 B
TypeScript
24 lines
850 B
TypeScript
import { describe, expect, it } from 'vitest'
|
|
import { getAllClipsAssets, parseClipAssets } from '@/app/[locale]/workspace/[projectId]/modes/novel-promotion/components/script-view/clip-asset-utils'
|
|
|
|
describe('clip asset utils', () => {
|
|
it('parses prop names from clip JSON payloads', () => {
|
|
const parsed = parseClipAssets({
|
|
characters: '[{"name":"小雨","appearance":"初始形象"}]',
|
|
location: '天台',
|
|
props: '["青铜匕首","录音笔"]',
|
|
})
|
|
|
|
expect(Array.from(parsed.propNames)).toEqual(['青铜匕首', '录音笔'])
|
|
})
|
|
|
|
it('aggregates prop names across clips', () => {
|
|
const all = getAllClipsAssets([
|
|
{ props: '["青铜匕首"]' },
|
|
{ props: '["录音笔","红绳手链"]' },
|
|
])
|
|
|
|
expect(Array.from(all.allPropNames)).toEqual(['青铜匕首', '录音笔', '红绳手链'])
|
|
})
|
|
})
|