import { Validation } from '../../src';
import { createDefaultValidators } from '../../src/validation/default_validators';

describe('Default validators', () => {
  it('Should export default options', () => {
    const {
      loopValidators,
      getErrorText,
      preValidators,
      postValidators,
    } = createDefaultValidators();

    expect(Array.isArray(loopValidators)).toBe(true);
    expect(Array.isArray(preValidators)).toBe(true);
    expect(Array.isArray(postValidators)).toBe(true);
    expect(typeof getErrorText).toBe('function');

    const allValidators = [
      ...loopValidators,
      ...preValidators,
      ...postValidators,
    ];

    for (const validator of allValidators) {
      expect(typeof validator).toBe('function');
    }
  });

  it('Should be able to call default getErrorText', () => {
    const { getErrorText } = createDefaultValidators();
    expect(getErrorText({ errorType: 'eh' } as Validation.ErrorEntry)).toBe(
      'eh'
    );
  });
});
