mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-04-26 23:04:57 +00:00
code: validate,nextjs,frontends (2 files)
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
import { describe, expect, it } from 'vitest'
|
||||
import { validateCredentialCreate } from '../../../src/core/validation/validate-credential-create'
|
||||
|
||||
describe('validateCredentialCreate', () => {
|
||||
const base = {
|
||||
username: 'valid_user',
|
||||
passwordHash: 'hashed_value',
|
||||
firstLogin: true,
|
||||
}
|
||||
|
||||
it.each([
|
||||
{ data: base, expected: [] },
|
||||
])('returns $expected for valid case', ({ data, expected }) => {
|
||||
expect(validateCredentialCreate(data)).toEqual(expected)
|
||||
})
|
||||
|
||||
it.each([
|
||||
{ data: { ...base, username: 'ab' }, message: 'username must be 3-50 characters (alphanumeric, underscore, hyphen)' },
|
||||
{ data: { ...base, passwordHash: ' ' }, message: 'passwordHash must be a non-empty string' },
|
||||
{ data: { ...base, firstLogin: 'yes' as unknown as boolean }, message: 'firstLogin must be a boolean' },
|
||||
])('rejects invalid case', ({ data, message }) => {
|
||||
expect(validateCredentialCreate(data)).toContain(message)
|
||||
})
|
||||
})
|
||||
@@ -9,5 +9,5 @@ export {
|
||||
getScrambledPassword,
|
||||
DEFAULT_USERS,
|
||||
DEFAULT_CREDENTIALS,
|
||||
} from './auth/index'
|
||||
} from './index'
|
||||
|
||||
|
||||
Reference in New Issue
Block a user