import faker from 'faker'; import { SchemaFactoryAdapter } from '~/data/tests/factories/schema/load'; import { ValidationSchemas, schemaTypes } from '~/domain'; import { BaseSchema } from '~/domain/entities/schemas/any-schema'; const factory = (partial?: Partial>): ValidationSchemas => { const data = { ...partial, type: partial?.type ?? faker.random.arrayElement(schemaTypes), rules: partial?.rules ?? {}, validate: jest.fn(), }; const SS: any = class extends BaseSchema {}; return Object.assign(new SS(), data) as typeof data; }; export const schemaFactory = new SchemaFactoryAdapter(factory);