import { factory } from 'factory-bot' import { datatype, date, image, internet, name, phone } from 'faker' import { sample } from 'lodash' import { Roles, User } from '../../src/models' import { countryCodes, LanguageCountryCode, timezones } from '../../src/utils/countries' factory.define( 'user', User, { id: datatype.uuid, bio: datatype.uuid, external_id: datatype.uuid, name: name.findName, email: internet.email, document_number: (): string => String(datatype.number({ min: 11, max: 11 })), professional_document: (): string => String(datatype.number({ min: 11, max: 11 })), cell_phone: phone.phoneNumber, whatsapp: phone.phoneNumber, country_code: () => sample(countryCodes), created_at: date.past, instagram: internet.url, linkedin: internet.url, photo_url: image.imageUrl, timezone: () => sample(timezones), role: Roles.USER, }, User, ) factory.extend('user', 'user:br', { country_code: () => LanguageCountryCode.PT_BR, }) factory.extend('user', 'user:mx', { country_code: () => LanguageCountryCode.ES_MX, }) factory.extend('user', 'user:manager', { role: Roles.NUTRITIONIST_MANAGER, }) export { factory }