feat: restore learning feedback and knowledge capabilities
This commit is contained in:
@@ -168,6 +168,28 @@ test('主管页面共享三个业务场景及文本推荐规则', () => {
|
||||
assert.equal(inferSupervisorScenarioId('催缴物业费'), 'fee-parking');
|
||||
});
|
||||
|
||||
test('专项派发使用后端批量接口并保留逐人结果和截止日期', () => {
|
||||
assert.match(assignPageSource, /selectedMemberIds/);
|
||||
assert.match(assignPageSource, /targets: selectedMembers\.map/);
|
||||
assert.match(assignPageSource, /requestId: pendingRequestId\.value/);
|
||||
assert.match(assignPageSource, /dueDate: dueDate\.value/);
|
||||
assert.match(assignPageSource, /batchResultItems\.value = result\.results/);
|
||||
assert.match(assignPageSource, /item\.status !== 'FAILED'/);
|
||||
assert.match(assignPageSource, /const maxAssignmentTargets = 100/);
|
||||
assert.match(assignPageSource, /persistPendingBatchDraft/);
|
||||
assert.match(assignPageSource, /restorePendingBatchDraft/);
|
||||
assert.match(assignPageSource, /const isPendingBatchDraft = \(value: unknown\)/);
|
||||
assert.match(assignPageSource, /draft\.selectedMemberIds\.every/);
|
||||
assert.match(assignPageSource, /pendingMatchesDeepLink/);
|
||||
assert.match(assignPageSource, /pendingDraft && \(!hasExplicitDraft \|\| pendingMatchesDeepLink\)/);
|
||||
assert.match(assignPageSource, /const assignmentDeepLink =/);
|
||||
assert.match(assignPageSource, /rememberLoginRedirect\(loginRedirectPath\.value\)/);
|
||||
assert.match(assignPageSource, /loginRedirectPath\.value = assignmentDeepLink\(requestedExtPartyId, requestedReason, requestedScenario\)/);
|
||||
assert.match(practiceServiceSource, /createPracticeAssignmentsBatch/);
|
||||
assert.match(practiceServiceSource, /\/practice\/assignments\/batch/);
|
||||
assert.doesNotMatch(assignPageSource, /for \([\s\S]*createPracticeAssignment/);
|
||||
});
|
||||
|
||||
test('stable 提示不计入团队预警指标', () => {
|
||||
const alerts = [
|
||||
alert({ type: 'stable', title: '团队状态稳定', desc: '当前无新增风险', severity: 'low' }),
|
||||
@@ -291,11 +313,11 @@ test('复盘音频晚到结果被释放且不会写入页面状态', () => {
|
||||
assert.match(reviewPageSource, /audioRequests\.dispose\(\)/);
|
||||
});
|
||||
|
||||
test('指派页登录失效清空私密状态且登录跳转不携带草稿', () => {
|
||||
test('指派页登录失效清空私密状态但保留明确深链任务', () => {
|
||||
assert.match(assignPageSource, /const clearPrivateState = \(\) => \{[\s\S]*resetDraft\(\);[\s\S]*assignments\.value = \[\]/);
|
||||
assert.match(assignPageSource, /if \(!loggedIn\.value\) return '选择员工并配置训练任务'/);
|
||||
assert.match(assignPageSource, /rememberLoginRedirect\(basePath\);\s*uni\.redirectTo/);
|
||||
assert.doesNotMatch(assignPageSource, /const loginRedirect =/);
|
||||
assert.match(assignPageSource, /rememberLoginRedirect\(loginRedirectPath\.value\);\s*uni\.redirectTo/);
|
||||
assert.match(assignPageSource, /const loginRedirectPath = ref\(basePath\)/);
|
||||
});
|
||||
|
||||
test('指派中锁定返回和刷新,写入成功后强制启动新历史读取', () => {
|
||||
|
||||
Reference in New Issue
Block a user