• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

QueryBuilder Mocking 예제를 알 수 있을까요?

22.02.10 14:11 작성 조회수 424

0

구글링을해봐도 도저히 나오지 않아 QueryBuilder를 어떻게 모킹해야할 지 모르겠습니다..

예) await getConnection()

      .createQueryBuilder()
      .update(User)
      .set({ userId, name, memo })
      .where(
        'projectId = :projectId
and id = :id
and authority = :authority',
        { projectId, id, authority: 0 },
      )
      .execute();

를 모킹하려고 하는데 혹시 MockClass 내부에서 어떻게 해당 로직을 구현해야 할까요?

답변 1

답변을 작성해보세요.

2

저는 보통 getConnection으로 출발하기보다는 this.userRepository.createQueryBuilder로 출발하는데요.

그런 경우에는 mockUserRepository가 정의되어있을 것이고, test 내부에서 

mockUserRepository.createQueryBuilder = jest.fn(() => ({
  update() { return this },
  set() { return this },
  where() { return this },
  execute() { return 모킹하길원하는값 }
}));

한 뒤

this.머시기Service.메서드(); 

이런 식으로 호출해서 사용합니다. getConnection도 mockConnection으로부터 출발해도 될 것 같네요.