[Filters][Grade] Acually fix the error

This commit is contained in:
Aaro Koivukangas
2026-09-01 12:25:45 +03:00
parent f8f5c4ba32
commit c24f2c65b0
2 changed files with 14 additions and 1 deletions
@@ -80,7 +80,7 @@ export const gradeFilter = createFilter<Options, Args, Precompute>({
student.courses.filter( student.courses.filter(
(course: any) => (course: any) =>
args.courseCodes.includes(course.course_code) && args.courseCodes.includes(course.course_code) &&
dateIsBetween(course.date, new Date(args.from), new Date(args.to)) dateIsBetween(new Date(course.date), new Date(args.from), new Date(args.to))
), ),
] as [string, FormattedStudent['courses']] ] as [string, FormattedStudent['courses']]
) )
@@ -66,6 +66,19 @@ void describe('gradeFilter', () => {
assert.strictEqual(result, true) assert.strictEqual(result, true)
}) })
void it('should handle string-dates properly', () => {
// @ts-expect-error: FIXME: Courses have date incorrectly types as Date, not string
const student = createStudent({ courses: [createCourse({ course_code: 'TKT002', date: '2024-09-01' })] })
const precomputed = gradeFilter().precompute!({
students: [student],
args: ARGS,
options: { selected: ['5'] },
})
assert.deepStrictEqual(precomputed, { grades: { '5': [student.studentNumber] } })
})
void it('isActive should match the filter state', () => { void it('isActive should match the filter state', () => {
assert.strictEqual(gradeFilter().isActive({ selected: ['5'] }, undefined), true) assert.strictEqual(gradeFilter().isActive({ selected: ['5'] }, undefined), true)
assert.strictEqual(gradeFilter().isActive({ selected: [] }, undefined), false) assert.strictEqual(gradeFilter().isActive({ selected: [] }, undefined), false)