44 lines
1.2 KiB
JavaScript
44 lines
1.2 KiB
JavaScript
|
|
import assert from 'node:assert/strict'
|
|||
|
|
import test from 'node:test'
|
|||
|
|
|
|||
|
|
import {
|
|||
|
|
mergeComposerPrefill,
|
|||
|
|
resolveSuggestedActionPrefill
|
|||
|
|
} from '../src/utils/assistantSuggestedActionPrefill.js'
|
|||
|
|
|
|||
|
|
test('suggested action prefill uses backend prompt payload', () => {
|
|||
|
|
assert.equal(
|
|||
|
|
resolveSuggestedActionPrefill({
|
|||
|
|
action_type: 'prefill_composer',
|
|||
|
|
payload: {
|
|||
|
|
application_field: 'time',
|
|||
|
|
prompt_prefill: '申请时间段:'
|
|||
|
|
}
|
|||
|
|
}),
|
|||
|
|
'申请时间段:'
|
|||
|
|
)
|
|||
|
|
})
|
|||
|
|
|
|||
|
|
test('suggested action prefill falls back to application field templates', () => {
|
|||
|
|
assert.equal(
|
|||
|
|
resolveSuggestedActionPrefill({
|
|||
|
|
action_type: 'prefill_composer',
|
|||
|
|
payload: { application_field: 'amount' }
|
|||
|
|
}),
|
|||
|
|
'预计总费用:'
|
|||
|
|
)
|
|||
|
|
assert.equal(
|
|||
|
|
resolveSuggestedActionPrefill({
|
|||
|
|
action_type: 'ask_clarification',
|
|||
|
|
payload: { application_field: 'amount' }
|
|||
|
|
}),
|
|||
|
|
''
|
|||
|
|
)
|
|||
|
|
})
|
|||
|
|
|
|||
|
|
test('composer prefill appends to existing draft without duplication', () => {
|
|||
|
|
assert.equal(mergeComposerPrefill('', '事由:'), '事由:')
|
|||
|
|
assert.equal(mergeComposerPrefill('地点:上海', '事由:'), '地点:上海\n事由:')
|
|||
|
|
assert.equal(mergeComposerPrefill('地点:上海\n事由:', '事由:'), '地点:上海\n事由:')
|
|||
|
|
})
|