forked from 77media/video-flow
47 lines
1.5 KiB
TypeScript
47 lines
1.5 KiB
TypeScript
import { generateScriptStream } from '../../../api/video_flow';
|
|
|
|
describe('ScriptService 业务逻辑测试', () => {
|
|
describe('generateScriptStream 真实接口测试', () => {
|
|
it('应该成功调用 generateScriptStream 接口并输出流数据', async () => {
|
|
/**
|
|
* 测试 generateScriptStream 流式接口,持续监听数据直到流结束
|
|
*/
|
|
const stream = await generateScriptStream({
|
|
text: '一个年轻人在咖啡店里等待他的约会对象,心情紧张地摆弄着手机。'
|
|
});
|
|
|
|
let allData = '';
|
|
let isSuccessful: boolean | undefined = undefined;
|
|
let message: string | undefined = undefined;
|
|
|
|
// 假设 stream 是一个异步可迭代对象
|
|
try {
|
|
for await (const chunk of stream.data) {
|
|
console.log(chunk);
|
|
|
|
if (typeof chunk.data === 'string') {
|
|
allData += chunk.data;
|
|
}
|
|
if (typeof chunk.successful === 'boolean') {
|
|
isSuccessful = chunk.successful;
|
|
}
|
|
if (typeof chunk.message === 'string') {
|
|
message = chunk.message;
|
|
}
|
|
}
|
|
} catch (err) {
|
|
console.error('流式接口监听出错:', err);
|
|
throw err;
|
|
}
|
|
|
|
// 输出流式数据及状态
|
|
console.log('generateScriptStream 流式数据:', allData);
|
|
console.log('响应状态:', isSuccessful);
|
|
console.log('响应消息:', message);
|
|
|
|
expect(allData).toBeDefined();
|
|
expect(typeof isSuccessful).toBe('boolean');
|
|
});
|
|
});
|
|
});
|