import assert from 'node:assert/strict'; import { buildVocabularySummaryFilters } from './vocabularyAuditFilters'; const correctWordFilter = buildVocabularySummaryFilters({ minCorrectWords: '40' }); assert.deepEqual(correctWordFilter, { minCorrectWords: 40, userMatchStages: [], baseMatch: { 'stats.correctWords': { $gte: 40 } } }); const legacyFilter = buildVocabularySummaryFilters({ minWords: '35' }); assert.deepEqual(legacyFilter, { minCorrectWords: 35, userMatchStages: [], baseMatch: { 'stats.correctWords': { $gte: 35 } } }); const emptyFilter = buildVocabularySummaryFilters({}); assert.deepEqual(emptyFilter, { minCorrectWords: undefined, userMatchStages: [], baseMatch: {} }); const studentFilter = buildVocabularySummaryFilters({ studentNo: 'A.12' }); assert.deepEqual(studentFilter.userMatchStages, [{ $match: { 'user.username': { $regex: 'A\\.12', $options: 'i' } } }]); const invalidFilter = buildVocabularySummaryFilters({ minCorrectWords: '4.5' }); assert.deepEqual(invalidFilter, { error: '正确单词数量必须是正整数' }); console.log('vocabularyAuditFilters tests passed');