From a5b2293ea81e5bda8bb9d6ecb431c3bfc27b47b6 Mon Sep 17 00:00:00 2001 From: Aaro Koivukangas Date: Thu, 20 Aug 2026 09:32:21 +0300 Subject: [PATCH] [UnitTests] Add startYearAtUniFilter tests --- .../tests/unit/filters/startYearAtUni.test.ts | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 services/frontend/tests/unit/filters/startYearAtUni.test.ts diff --git a/services/frontend/tests/unit/filters/startYearAtUni.test.ts b/services/frontend/tests/unit/filters/startYearAtUni.test.ts new file mode 100644 index 000000000..6918134a6 --- /dev/null +++ b/services/frontend/tests/unit/filters/startYearAtUni.test.ts @@ -0,0 +1,34 @@ +import { assert, describe, it } from 'vitest' + +import { startYearAtUniFilter } from '@/components/FilterView/filters/startYearAtUni' +import { FormattedStudent } from '@oodikone/shared/types/studentData' + +import { createStudent } from './helpers' + +const filterStudent = (student: FormattedStudent, selected: number | string) => + startYearAtUniFilter().filter(student, { args: undefined, options: { selected }, precomputed: undefined }) + +void describe('startYearAtUniFilter', () => { + void it("should return true when selected year matches the student's starting year (FALL)", () => { + const student = createStudent({ started: new Date('2020-08-01') }) + + assert.strictEqual(filterStudent(student, 2020), true) + }) + + void it("should return true when selected year matches the student's starting year (SPRING)", () => { + const student = createStudent({ started: new Date('2020-03-01') }) + + assert.strictEqual(filterStudent(student, 2020), true) + }) + + void it("should return false when selected year doesn't match the student's starting year", () => { + const student = createStudent({ started: new Date('2020-08-01') }) + + assert.strictEqual(filterStudent(student, 2021), false) + }) + + void it('isActive should match the filter state', () => { + assert.strictEqual(startYearAtUniFilter().isActive({ selected: '' }, undefined), false) + assert.strictEqual(startYearAtUniFilter().isActive({ selected: 2020 }, undefined), true) + }) +})