test: fix makeInput mock missing setAttribute for aria-invalid

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Ulas Kalayci
2026-04-27 00:42:59 +02:00
parent 308489b9b0
commit 143d451db0
+7
View File
@@ -50,15 +50,19 @@ function makeField() {
function makeInput({ value = '', required = true } = {}) { function makeInput({ value = '', required = true } = {}) {
const listeners = {}; const listeners = {};
const attrs = {};
const field = makeField(); const field = makeField();
return { return {
value, value,
required, required,
_field: field, _field: field,
_listeners: listeners, _listeners: listeners,
_attrs: attrs,
addEventListener(event, fn) { listeners[event] = fn; }, addEventListener(event, fn) { listeners[event] = fn; },
closest() { return field; }, closest() { return field; },
parentElement: field, parentElement: field,
setAttribute(k, v) { attrs[k] = v; },
removeAttribute(k) { delete attrs[k]; },
}; };
} }
@@ -109,6 +113,7 @@ test('wireBlurValidation: blur mit leerem Wert setzt form-field--error', () => {
input._listeners['blur'](); input._listeners['blur']();
assert.ok(input._field._classes.has('form-field--error')); assert.ok(input._field._classes.has('form-field--error'));
assert.ok(!input._field._classes.has('form-field--valid')); assert.ok(!input._field._classes.has('form-field--valid'));
assert.equal(input._attrs['aria-invalid'], 'true');
}); });
test('wireBlurValidation: blur mit gültigem Wert setzt form-field--valid', () => { test('wireBlurValidation: blur mit gültigem Wert setzt form-field--valid', () => {
@@ -117,6 +122,7 @@ test('wireBlurValidation: blur mit gültigem Wert setzt form-field--valid', () =
input._listeners['blur'](); input._listeners['blur']();
assert.ok(input._field._classes.has('form-field--valid')); assert.ok(input._field._classes.has('form-field--valid'));
assert.ok(!input._field._classes.has('form-field--error')); assert.ok(!input._field._classes.has('form-field--error'));
assert.equal(input._attrs['aria-invalid'], 'false');
}); });
test('wireBlurValidation: Whitespace-only gilt als leer → form-field--error', () => { test('wireBlurValidation: Whitespace-only gilt als leer → form-field--error', () => {
@@ -124,6 +130,7 @@ test('wireBlurValidation: Whitespace-only gilt als leer → form-field--error',
wireBlurValidation(makeContainer([input])); wireBlurValidation(makeContainer([input]));
input._listeners['blur'](); input._listeners['blur']();
assert.ok(input._field._classes.has('form-field--error')); assert.ok(input._field._classes.has('form-field--error'));
assert.equal(input._attrs['aria-invalid'], 'true');
}); });
test('wireBlurValidation: kein Fehler wenn closest() null zurückgibt', () => { test('wireBlurValidation: kein Fehler wenn closest() null zurückgibt', () => {