import { Factory } from "fishery" import { faker } from "@faker-js/faker/locale/en_CA" import { User } from "@/models" export const userFactory = Factory.define(({ sequence, params, onCreate }) => { onCreate((user) => { try { return user.save() } catch (error) { console.error(error) throw new Error( `Could not create User with attributes: ${JSON.stringify(user.dataValues, null, 2)}` ) } }) const firstName = params.firstName || `${faker.person.firstName()}-${sequence}` const lastName = params.lastName || faker.person.lastName() const email = params.email || faker.internet.email({ firstName, lastName }) return User.build({ email, auth0Subject: params.auth0Subject || email, firstName, lastName, displayName: `${firstName} ${lastName}`, roles: [User.Roles.USER], }) }) export default userFactory