Admin: Pruefung des Mitarbeiter-Formulars als Lib mit Test

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Sonnet 5.5 committed 2026-10-06 14:41:26 +00:00
1 parent 313ead77f4
commit 38beaead99
2 files changed
+41

No files matched your search

+21
View File
@@ -0,0 +1,21 @@
import test from 'node:test'
import assert from 'node:assert/strict'
import { loadModule } from './load.mjs'
const { validateEmployeeForm } = await loadModule('src/lib/employeeForm.js')
const base = { displayName: 'Max Muster', email: 'max@webklar.com', password: '', shortcode: '', isAdmin: false }
const NEED = 'Name und E-Mail sind erforderlich.'
test('validateEmployeeForm: neuer Mitarbeiter', () => {
assert.equal(validateEmployeeForm({ ...base, displayName: ' ', password: '12345678' }, false), NEED)
assert.equal(validateEmployeeForm({ ...base, email: '', password: '12345678' }, false), NEED)
assert.equal(validateEmployeeForm({ ...base, password: '1234567' }, false), 'Das Passwort muss mindestens 8 Zeichen haben.')
assert.equal(validateEmployeeForm({ ...base, password: '12345678' }, false), null)
})
test('validateEmployeeForm: Mitarbeiter bearbeiten', () => {
assert.equal(validateEmployeeForm(base, true), null) // leeres Passwort = unverändert
assert.equal(validateEmployeeForm({ ...base, password: 'abc' }, true), 'Ein neues Passwort muss mindestens 8 Zeichen haben.')
assert.equal(validateEmployeeForm({ ...base, password: 'abcdefgh' }, true), null)
assert.equal(validateEmployeeForm({ ...base, email: ' ' }, true), NEED)
})