mirror of
https://github.com/UniversityOfHelsinkiCS/oodikone.git
synced 2026-10-12 19:03:39 +03:00
[UnitTests] Add genderFilter tests
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
import { assert, describe, it } from 'vitest'
|
||||
|
||||
import { genderFilter } from '@/components/FilterView/filters/gender'
|
||||
import { FormattedStudent } from '@oodikone/shared/types/studentData'
|
||||
|
||||
import { createStudent } from './helpers'
|
||||
import { GenderCode } from '@oodikone/shared/types'
|
||||
|
||||
const filterStudent = (student: FormattedStudent, selected: string) =>
|
||||
genderFilter().filter(student, {
|
||||
args: undefined,
|
||||
options: { selected: parseInt(selected) },
|
||||
precomputed: undefined,
|
||||
})
|
||||
|
||||
void describe('genderFilter', () => {
|
||||
void it('should keep a student whose gender code matches the selected value', () => {
|
||||
const student = createStudent({ gender_code: GenderCode.FEMALE })
|
||||
|
||||
assert.strictEqual(filterStudent(student, GenderCode.FEMALE), true)
|
||||
})
|
||||
|
||||
void it('should exclude a student whose gender code does not match the selected value', () => {
|
||||
const student = createStudent({ gender_code: GenderCode.MALE })
|
||||
|
||||
assert.strictEqual(filterStudent(student, GenderCode.FEMALE), false)
|
||||
})
|
||||
|
||||
void it('should keep a student with an unknown gender code when unknown is selected', () => {
|
||||
const student = createStudent({ gender_code: GenderCode.UNKNOWN })
|
||||
|
||||
assert.strictEqual(filterStudent(student, GenderCode.UNKNOWN), true)
|
||||
})
|
||||
|
||||
void it('isActive should match the filter state', () => {
|
||||
assert.strictEqual(genderFilter().isActive({ selected: '' }, undefined), false)
|
||||
assert.strictEqual(genderFilter().isActive({ selected: GenderCode.MALE }, undefined), true)
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user