30 lines
1.4 KiB
TypeScript
30 lines
1.4 KiB
TypeScript
import assert from 'node:assert/strict'
|
|
import test from 'node:test'
|
|
import { validateGradeClassPair, resolveGradeClassError, REMARK_MAX_LENGTH } from '../../server/utils/register-validation.ts'
|
|
|
|
test('年级和班级必须成对填写', () => {
|
|
assert.equal(validateGradeClassPair('高一', '一班'), null)
|
|
assert.equal(validateGradeClassPair('', ''), null)
|
|
assert.equal(validateGradeClassPair(undefined, undefined), null)
|
|
|
|
const onlyGrade = validateGradeClassPair('高一', '')
|
|
assert.equal(onlyGrade?.code, 'AUTH_GRADE_CLASS_TOGETHER')
|
|
|
|
const onlyClass = validateGradeClassPair('', '一班')
|
|
assert.equal(onlyClass?.code, 'AUTH_GRADE_CLASS_TOGETHER')
|
|
})
|
|
|
|
test('站点开启注册必选年级班级时任一缺失按必填拒绝', () => {
|
|
assert.equal(resolveGradeClassError('高一', '一班'), null)
|
|
assert.equal(resolveGradeClassError('高一', '')?.code, 'AUTH_GRADE_CLASS_TOGETHER')
|
|
assert.equal(resolveGradeClassError('高一', '一班', true), null)
|
|
assert.equal(resolveGradeClassError('高一', '', true)?.code, 'AUTH_GRADE_CLASS_REQUIRED')
|
|
assert.equal(resolveGradeClassError('', '一班', true)?.code, 'AUTH_GRADE_CLASS_REQUIRED')
|
|
assert.equal(resolveGradeClassError('', '', true)?.code, 'AUTH_GRADE_CLASS_REQUIRED')
|
|
assert.equal(resolveGradeClassError(undefined, undefined, true)?.code, 'AUTH_GRADE_CLASS_REQUIRED')
|
|
})
|
|
|
|
test('注册备注长度上限为 200', () => {
|
|
assert.equal(REMARK_MAX_LENGTH, 200)
|
|
})
|