22 lines
1.2 KiB
JavaScript
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)
|
|
})
|