mirror of
https://wget.la/https://github.com/Wxw-Gu/WechatExplorer
synced 2026-08-17 19:47:08 +08:00
fix: 修复语音文件缺失误报
批量语音读取失败时,并行回退到兼容的单条读取接口,避免批量接口异常导致全部语音被误判为缺失。 增量合并恢复可播放语音或转写后,清理矛盾的媒体及转写错误状态,并补充批量回退与增量合并回归测试。
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
import { describe, expect, it, vi } from 'vitest'
|
||||
import { VoiceService } from '../../src/main/voice-service'
|
||||
|
||||
describe('VoiceService batch lookup', () => {
|
||||
it('retries failed batch entries with the compatible single-item lookup', async () => {
|
||||
const getVoiceDataBatch = vi.fn().mockResolvedValue([
|
||||
{ success: false, error: '获取语音数据失败' },
|
||||
{ success: false, error: '获取语音数据失败' }
|
||||
])
|
||||
const service = new VoiceService({ getVoiceDataBatch } as never)
|
||||
const resolveVoice = vi
|
||||
.spyOn(service, 'resolveVoice')
|
||||
.mockImplementation(async (_sessionId, localId) => ({
|
||||
success: true,
|
||||
data: `voice-${localId}`
|
||||
}))
|
||||
|
||||
const result = await service.resolveVoices([
|
||||
{ sessionId: 'session', localId: 10, createTime: 100, svrId: '1000' },
|
||||
{ sessionId: 'session', localId: 11, createTime: 101, svrId: '1001' }
|
||||
])
|
||||
|
||||
expect(result).toEqual([
|
||||
{ success: true, data: 'voice-10' },
|
||||
{ success: true, data: 'voice-11' }
|
||||
])
|
||||
expect(resolveVoice).toHaveBeenCalledTimes(2)
|
||||
expect(resolveVoice).toHaveBeenNthCalledWith(1, 'session', 10, 100, '1000')
|
||||
expect(resolveVoice).toHaveBeenNthCalledWith(2, 'session', 11, 101, '1001')
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user