import { validateField } from './validateField';

describe('validateField function', () => {
  it('should return true if the field is valid', () => {
    // Test case where the required field has a value and passes validation
    const result = validateField(
      'example value',
      true,
      (value) => value === 'example value'
    );
    expect(result).toBe(true);
  });

  it('should return false if the field is required and has no value', () => {
    // Test case where the required field has no value
    const result = validateField(
      undefined,
      true,
      (value) => value === 'example value'
    );
    expect(result).toBe(false);
  });

  it('should return false if the field does not pass validation', () => {
    // Test case where the field does not pass validation
    const result = validateField(
      'example value',
      true,
      (value) => value !== 'example value'
    );
    expect(result).toBe(false);
  });

  it('should return true if the field is not required', () => {
    // Test case where the field is not required (can have no value)
    const result = validateField(
      undefined,
      false,
      (value) => value !== 'example value'
    );
    expect(result).toBe(true);
  });
});
