/** * Validator Tests */ import { describe, expect, test } from 'bun:test'; import { validateRequired } from './validators'; describe('validateRequired', () => { test('accepts non-empty strings', () => { const validator = validateRequired('Test field'); expect(validator('value')).toBeUndefined(); expect(validator(' text ')).toBeUndefined(); }); test('allows undefined (for default values)', () => { const validator = validateRequired('Test field'); expect(validator(undefined)).toBeUndefined(); }); test('rejects empty strings', () => { const validator = validateRequired('Test field'); expect(validator('')).toBe('Test field is required'); expect(validator(' ')).toBe('Test field is required'); }); test('uses custom field name in error message', () => { const validator = validateRequired('Custom field'); expect(validator('')).toBe('Custom field is required'); }); });