feat: enable explicitly authorized human-reviewed clinical adoption
This commit is contained in:
@@ -1249,9 +1249,9 @@ test('preview actual component can upload, view transcript and save draft with f
|
||||
assert.match(f.panel.applyIssue.value, /测试预览/)
|
||||
f.dispose()
|
||||
const source = fs.readFileSync(path.join(componentDir, 'FollowupAudioPanel.vue'), 'utf8')
|
||||
assert.match(source, /v-if="previewOnly"[^>]+title="仅测试识别与提炼,不写入病例"/)
|
||||
assert.match(source, /v-if="previewOnly"[^>]+:title="capabilities.preview_only/)
|
||||
assert.match(source, /<el-button v-if="canApplyReview"[^>]+@click="applySelected">确认写入/)
|
||||
assert.match(source, /预览就绪不代表完整音频或准确度验收通过/)
|
||||
assert.match(source, /历史测试任务,仅供查看和审阅/)
|
||||
})
|
||||
|
||||
test('preview roles and review_refreshed drafts remain editable without can_apply and preserve dirty work', async () => {
|
||||
@@ -1442,3 +1442,20 @@ test('dirty draft is replaced by the authoritative applied result from another o
|
||||
assert.deepEqual(f.events, [['applied', 10]])
|
||||
f.dispose()
|
||||
})
|
||||
|
||||
|
||||
test('manual human-reviewed business mode exposes upload and explicit Apply without claiming model accuracy', async () => {
|
||||
const manual = { ...caps(), audio_verified: false, preview_only: false, manual_review_enabled: true, manual_review_ready: true, can_review: true }
|
||||
assert.equal(state.followupAudioReady(manual), true)
|
||||
assert.equal(state.followupCanApply(manual), true)
|
||||
assert.equal(state.followupCanApply(manual, true), false)
|
||||
assert.equal(state.followupAudioReady({ ...manual, manual_review_enabled: false }), false)
|
||||
assert.equal(state.followupCanApply({ ...manual, manual_review_ready: false }), false)
|
||||
assert.equal(state.followupAudioReady({ ...manual, manual_review_ready: undefined }), false)
|
||||
const f = setupPanel({}, { capabilities: manual }); await settle(); await f.panel.openTask(1)
|
||||
assert.equal(f.panel.canUpload.value, true)
|
||||
assert.equal(f.panel.canApplyReview.value, true)
|
||||
await f.panel.saveDraft(); assert.equal(f.calls.filter(x => x[0] === 'apply').length, 0)
|
||||
await f.panel.applySelected(); assert.equal(f.calls.filter(x => x[0] === 'apply').length, 1)
|
||||
f.dispose()
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user