调优
This commit is contained in:
+17
-4
@@ -396,6 +396,16 @@ try {
|
||||
|
||||
const adminDirectory = await admin.request('/api/admin/admins');
|
||||
assert.ok(adminDirectory.data.admins.filter(item => item.adminLevel === 'school' && item.schoolId === 'school_hz1').length >= 2, '同一学校应支持多个同级管理员');
|
||||
const managedAdmin = adminDirectory.data.admins.find(item => item.username === 'school_admin_2');
|
||||
assert.ok(managedAdmin, '管理员台账应返回可管理的校级管理员');
|
||||
assert.equal((await admin.request(`/api/admin/admins/${adminDirectory.data.admins.find(item => item.username === 'admin')?.id}`, { method: 'PATCH', body: { active: false } })).response.status, 409, '超级管理员不能停用当前正在使用的自己');
|
||||
assert.equal((await admin.request(`/api/admin/admins/${managedAdmin.id}`, { method: 'PATCH', body: { active: false } })).response.status, 200, '超级管理员应能停用其他管理员账户');
|
||||
assert.equal((await admin.request('/api/admin/admins')).data.admins.find(item => item.id === managedAdmin.id).active, false, '管理员台账应同步显示停用状态');
|
||||
const adminPasswordReset = await admin.request(`/api/admin/admins/${managedAdmin.id}/reset-password`, { method: 'POST' });
|
||||
assert.equal(adminPasswordReset.response.status, 200, '超级管理员应能重置其他管理员密码');
|
||||
assert.match(adminPasswordReset.data.temporaryPassword, /^Reset-/, '管理员密码重置应返回一次性临时密码');
|
||||
assert.equal((await admin.request('/api/admin/admins')).data.admins.find(item => item.id === managedAdmin.id).active, true, '重置密码应重新启用目标管理员账户');
|
||||
assert.equal((await schoolAdmin2.request('/api/auth/login', { method: 'POST', body: { username: managedAdmin.username, password: adminPasswordReset.data.temporaryPassword } })).response.status, 200, '被重置的管理员应可使用临时密码重新登录');
|
||||
const schoolCenters = await schoolAdmin.request('/api/admin/centers');
|
||||
assert.ok(schoolCenters.data.centers.every(item => item.schoolId === 'school_hz1'), '校级管理员只能读取本校考点');
|
||||
const legacySuperCenters = await legacyAdmin.request('/api/admin/centers');
|
||||
@@ -590,10 +600,13 @@ try {
|
||||
const qualificationLedger = await schoolAdmin.request('/api/admin/indicator-qualifications');
|
||||
const qualificationExam = qualificationLedger.data.exams.find(item => item.examId === exam.id);
|
||||
assert.ok(qualificationExam?.qualificationStatus.rows.length, '生源校学校管理员应看到本校待确认考生');
|
||||
for (const row of qualificationExam.qualificationStatus.rows) {
|
||||
const confirmation = await schoolAdmin.request(`/api/admin/indicator-qualifications/${exam.id}/${row.userId}`, { method: 'PUT', body: { eligible: row.registrationNumber === candidateNumber } });
|
||||
assert.equal(confirmation.response.status, 200, `生源校应能逐人确认指标分配资格:${confirmation.data?.error || confirmation.data?.message || ''}\n${serverError}`);
|
||||
}
|
||||
const bulkQualification = await schoolAdmin.request(`/api/admin/indicator-qualifications/${exam.id}/bulk`, { method: 'PUT', body: { userIds: qualificationExam.qualificationStatus.rows.map(row => row.userId), eligible: false } });
|
||||
assert.equal(bulkQualification.response.status, 200, '生源校应能多选后一键批量确认指标分配资格');
|
||||
assert.equal(bulkQualification.data.count, qualificationExam.qualificationStatus.rows.length, '批量确认应返回实际更新人数');
|
||||
assert.equal(bulkQualification.data.published, true, '批量确认覆盖全校考生时应自动完成公示');
|
||||
const candidateQualificationRow = qualificationExam.qualificationStatus.rows.find(row => row.registrationNumber === candidateNumber);
|
||||
const confirmation = await schoolAdmin.request(`/api/admin/indicator-qualifications/${exam.id}/${candidateQualificationRow.userId}`, { method: 'PUT', body: { eligible: true } });
|
||||
assert.equal(confirmation.response.status, 200, '批量确认后仍应支持逐人修正资格');
|
||||
const completedQualificationLedger = await schoolAdmin.request('/api/admin/indicator-qualifications');
|
||||
assert.equal(completedQualificationLedger.data.exams.find(item => item.examId === exam.id).qualificationStatus.complete, true, '本校全部考生确认后应自动完成资格公示');
|
||||
const publicQualification = await anonymous.request('/api/public/announcements');
|
||||
|
||||
Reference in New Issue
Block a user