Files
tickte-system/tests/unit/employeeForm.test.mjs
2026-10-06 14:41:26 +00:00

22 lines
1.2 KiB
JavaScript

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)
})