Test Data Generator

Gen

Test Data Generator

  • 해당 도메인 관련 테스트 데이터 생성하는 함수를 만들자.

  • 서비스 요구사항에 맞는 전용 랜덤 제너레이터 함수가 있는것이 조타

Generator

import { Content } from '@/domains/content/content.entity';
import { User } from '@/domains/user/user.entity';
import { faker } from '@faker-js/faker';
import { draw } from 'radashi';

const imgPath = ['/globe.svg', '/vercel.svg', '/window.svg'];

export const gen = {
  img: () => draw(imgPath) as string,

  content: {
    title: faker.book.title,
    body: () => faker.word.words({ count: { min: 5, max: 25 } }),

    instance: (partial?: Partial<Content>): Content => ({
      id: faker.string.uuid(),
      createdAt: faker.date.past(),
      title: gen.content.title(),
      body: gen.content.body(),
      thumbnail: gen.img(),
      authorId: faker.string.uuid(),
      ...partial,
    }),
  },

  user: {
    instance: (parital?: Partial<User>): User => ({
      id: faker.string.uuid(),
      nickname: faker.person.firstName(),
      imgUrl: gen.img(),
      ...parital,
    }),
  },
};

CLI

libs

Last updated