用户端页面构建完成---待测试
This commit is contained in:
@@ -205,6 +205,47 @@ test('管理员任务分页统计接口返回结构正确', async () => {
|
||||
assert.equal(invalidEndAtStart.status, 400);
|
||||
assert.equal(invalidEndAtStart.json?.success, false);
|
||||
|
||||
const firstGenerate = await jsonFetch(baseUrl, '/api/quiz/generate', {
|
||||
method: 'POST',
|
||||
body: { userId: userA.id, taskId: activeTaskId },
|
||||
});
|
||||
assert.equal(firstGenerate.status, 200);
|
||||
assert.equal(firstGenerate.json?.success, true);
|
||||
assert.ok(Array.isArray(firstGenerate.json?.data?.questions));
|
||||
|
||||
await run(
|
||||
`INSERT INTO quiz_records (id, user_id, subject_id, task_id, total_score, correct_count, total_count, created_at)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?)`,
|
||||
[randomUUID(), userA.id, subjectId, activeTaskId, 10, 2, 20, new Date(now - 1000).toISOString()],
|
||||
);
|
||||
await run(
|
||||
`INSERT INTO quiz_records (id, user_id, subject_id, task_id, total_score, correct_count, total_count, created_at)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?)`,
|
||||
[randomUUID(), userA.id, subjectId, activeTaskId, 30, 6, 20, new Date(now - 900).toISOString()],
|
||||
);
|
||||
await run(
|
||||
`INSERT INTO quiz_records (id, user_id, subject_id, task_id, total_score, correct_count, total_count, created_at)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?)`,
|
||||
[randomUUID(), userA.id, subjectId, activeTaskId, 20, 4, 20, new Date(now - 800).toISOString()],
|
||||
);
|
||||
|
||||
const userTasks = await jsonFetch(baseUrl, `/api/exam-tasks/user/${userA.id}`);
|
||||
assert.equal(userTasks.status, 200);
|
||||
assert.equal(userTasks.json?.success, true);
|
||||
assert.ok(Array.isArray(userTasks.json?.data));
|
||||
assert.equal(userTasks.json?.data?.[0]?.id, activeTaskId);
|
||||
assert.equal(userTasks.json?.data?.[0]?.usedAttempts, 3);
|
||||
assert.equal(userTasks.json?.data?.[0]?.maxAttempts, 3);
|
||||
assert.equal(userTasks.json?.data?.[0]?.bestScore, 30);
|
||||
|
||||
const fourthGenerate = await jsonFetch(baseUrl, '/api/quiz/generate', {
|
||||
method: 'POST',
|
||||
body: { userId: userA.id, taskId: activeTaskId },
|
||||
});
|
||||
assert.equal(fourthGenerate.status, 400);
|
||||
assert.equal(fourthGenerate.json?.success, false);
|
||||
assert.ok(String(fourthGenerate.json?.message || '').includes('考试次数已用尽'));
|
||||
|
||||
const invalidPageFallback = await jsonFetch(baseUrl, '/api/admin/tasks/history-stats?page=0&limit=0');
|
||||
assert.equal(invalidPageFallback.status, 200);
|
||||
assert.equal(invalidPageFallback.json?.pagination?.page, 1);
|
||||
|
||||
Reference in New Issue
Block a user