Admin: Pruefung des Mitarbeiter-Formulars als Lib mit Test
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
313ead77f4
commit
38beaead99
2 files changed
+41
No files matched your search
@@ -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)
|
||||
})
|
||||
Reference in new issue
Block a user