Files
automatisch/packages/backend/test/factories/user.js
2024-09-12 13:33:38 +03:00

27 lines
793 B
JavaScript

import { createRole } from './role';
import { faker } from '@faker-js/faker';
import User from '../../src/models/user';
export const createUser = async (params = {}) => {
params.roleId = params?.roleId || (await createRole()).id;
params.fullName = params?.fullName || faker.person.fullName();
params.email = params?.email || faker.internet.email();
params.password = params?.password || faker.internet.password();
const user = await User.query().insertAndFetch(params);
// important to mimic request.currentUser functionality.
const userWithRoleAndPermissions = await user
.$query()
.leftJoinRelated({
role: true,
permissions: true,
})
.withGraphFetched({
role: true,
permissions: true,
});
return userWithRoleAndPermissions;
};