fix(voice): recover empty failed lessons
This commit is contained in:
@@ -3,6 +3,7 @@ const test = require('node:test')
|
||||
|
||||
const {
|
||||
getVoiceFailureHint,
|
||||
getVoiceLessonRecoveryAction,
|
||||
getVoiceLessonStatusText,
|
||||
getVoicePrimaryAction,
|
||||
getVoicePrimaryActionText
|
||||
@@ -83,6 +84,23 @@ test('ready lessons explain whether their transcript can be added again', () =>
|
||||
assert.equal(getVoiceLessonStatusText({ ...lesson, includedInGeneration: true }), '已生成反馈')
|
||||
})
|
||||
|
||||
test('failed lessons distinguish retryable audio from empty failed records', () => {
|
||||
const failedLesson = {
|
||||
status: 'failed',
|
||||
segments: []
|
||||
}
|
||||
|
||||
assert.equal(getVoiceLessonRecoveryAction(failedLesson), 'rerecord')
|
||||
assert.equal(getVoiceLessonRecoveryAction({
|
||||
...failedLesson,
|
||||
segments: [{ status: 'failed' }]
|
||||
}), 'retry')
|
||||
assert.equal(getVoiceLessonRecoveryAction({
|
||||
...failedLesson,
|
||||
status: 'ready'
|
||||
}), null)
|
||||
})
|
||||
|
||||
test('session refresh runs after a failed API action', async () => {
|
||||
const expected = new Error('generation rejected')
|
||||
let refreshCount = 0
|
||||
|
||||
Reference in New Issue
Block a user