This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { | |
Column, | |
CreateDateColumn, | |
Entity, | |
JoinColumn, | |
OneToOne, | |
PrimaryGeneratedColumn, | |
UpdateDateColumn, | |
} from 'typeorm'; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { User } from '@backend/db/entities/User'; | |
import { getConnection } from 'typeorm'; | |
describe('Some Test', () => { | |
const connection = getConnection('default'); | |
let user: User; | |
beforeEach(async () => { | |
const userRepository = connection.getRepository(User); | |
const user = userRepository.create({ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import * as faker from 'faker'; | |
import { TypeFactory } from 'interface-forge'; | |
import { User, UserProfile } from '@backend/db/entities/User'; | |
export const UserProfileFactory = new TypeFactory< | |
Omit<UserProfile, 'user' | 'id' | 'createdDate' | 'updatedDate'> | |
>(() => ({ | |
location: faker.address.city(), | |
employer: faker.company.companyName(), | |
profession: TypeFactory.iterate([ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { User } from '@backend/db/entities/User'; | |
import { UserFactory } from '@backend/db/factories/User.factory'; | |
import { getConnection } from 'typeorm'; | |
describe('Some Test', () => { | |
const connection = getConnection('default'); | |
let user: User; | |
beforeEach(async () => { | |
const userRepository = connection.getRepository(User); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { User } from '@backend/db/entities/User'; | |
import { UserFactory } from '@backend/db/factories/User.factory'; | |
import { getConnection } from 'typeorm'; | |
describe('Some Other Test', () => { | |
const connection = getConnection('default'); | |
let users: User[]; | |
beforeEach(async () => { | |
const userRepository = connection.getRepository(User); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
export abstract class AbstractUUIDPrimaryKeyEntity extends BaseEntity { | |
@PrimaryGeneratedColumn('uuid') | |
id: string; | |
@CreateDateColumn() | |
createdDate: Date; | |
@UpdateDateColumn() | |
updatedDate: Date; | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
export type EntityInterface<Entity, Base> = { | |
[K in keyof Omit<Entity, keyof Base>]: K extends Base | |
? Omit<Entity, keyof Base> | |
: Entity[K]; | |
}; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
export const UserFactory = new TypeFactory< | |
EntityInterface<User, AbstractUUIDPrimaryKeyEntity> | |
>(() => ({ | |
... | |
})); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
export class UserDTO { | |
id: string; | |
firstName: string; | |
lastName: string; | |
email: string; | |
isActive: boolean; | |
location: string; | |
employer: string; | |
profession: string; | |
phoneNumber: string; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import * as faker from 'faker'; | |
import { FixtureFactory } from 'interface-forge'; | |
import { UserDTO } from '@shared/dto/User.dto'; | |
export const UserDTOFactory = new FixtureFactory<UserDTO>(() => ({ | |
id: faker.datatype.uuid(), | |
firstName: faker.name.firstName(), | |
lastName: faker.name.lastName(), | |
isActive: true, | |
email: faker.internet.email(), |
OlderNewer