ffff
This commit is contained in:
@@ -1,27 +1,26 @@
|
||||
import assert from 'node:assert/strict';
|
||||
import { buildVocabularySummaryFilters } from './vocabularyAuditFilters';
|
||||
import {
|
||||
applyVocabularySummaryItemFilters,
|
||||
buildVocabularySummaryFilters
|
||||
} from './vocabularyAuditFilters';
|
||||
|
||||
const correctWordFilter = buildVocabularySummaryFilters({ minCorrectWords: '40' });
|
||||
assert.deepEqual(correctWordFilter, {
|
||||
minCorrectWords: 40,
|
||||
const uniqueWordFilter = buildVocabularySummaryFilters({ minUniqueWords: '40' });
|
||||
assert.deepEqual(uniqueWordFilter, {
|
||||
minUniqueWords: 40,
|
||||
userMatchStages: [],
|
||||
baseMatch: {
|
||||
'stats.correctWords': { $gte: 40 }
|
||||
}
|
||||
baseMatch: {}
|
||||
});
|
||||
|
||||
const legacyFilter = buildVocabularySummaryFilters({ minWords: '35' });
|
||||
const legacyFilter = buildVocabularySummaryFilters({ minCorrectWords: '35' });
|
||||
assert.deepEqual(legacyFilter, {
|
||||
minCorrectWords: 35,
|
||||
minUniqueWords: 35,
|
||||
userMatchStages: [],
|
||||
baseMatch: {
|
||||
'stats.correctWords': { $gte: 35 }
|
||||
}
|
||||
baseMatch: {}
|
||||
});
|
||||
|
||||
const emptyFilter = buildVocabularySummaryFilters({});
|
||||
assert.deepEqual(emptyFilter, {
|
||||
minCorrectWords: undefined,
|
||||
minUniqueWords: undefined,
|
||||
userMatchStages: [],
|
||||
baseMatch: {}
|
||||
});
|
||||
@@ -36,7 +35,14 @@ assert.deepEqual(studentFilter.userMatchStages, [{
|
||||
}
|
||||
}]);
|
||||
|
||||
const invalidFilter = buildVocabularySummaryFilters({ minCorrectWords: '4.5' });
|
||||
assert.deepEqual(invalidFilter, { error: '正确单词数量必须是正整数' });
|
||||
const invalidFilter = buildVocabularySummaryFilters({ minUniqueWords: '4.5' });
|
||||
assert.deepEqual(invalidFilter, { error: '去重单词数量必须是正整数' });
|
||||
|
||||
const filteredItems = applyVocabularySummaryItemFilters([
|
||||
{ userId: 'below', uniqueWords: 39 },
|
||||
{ userId: 'equal', uniqueWords: 40 },
|
||||
{ userId: 'above', uniqueWords: 41 }
|
||||
], 40);
|
||||
assert.deepEqual(filteredItems.map(item => item.userId), ['equal', 'above']);
|
||||
|
||||
console.log('vocabularyAuditFilters tests passed');
|
||||
|
||||
Reference in New Issue
Block a user