Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: Test, Repository, HTTP Exception, Class Validator #7

Merged
merged 8 commits into from
Apr 11, 2024
Merged

Conversation

w8385
Copy link
Member

@w8385 w8385 commented Apr 10, 2024

업데이트 유형

  • Hot Fix
  • Release
  • Develop
  • Others

업데이트 개요

  • 테스트 코드가 의미없음
  • 서비스 코드가 난잡했음
  • 예외 처리 필요했음

업데이트 요약

  • 진짜 돌아가는 테스트 코드
    • 테스트시 MongoMemoryServer 사용해서 로컬에서 MongoDB 실행
    • 테스트 코드 객체가 애매하네? 리팩터링해야지
  • Repository단 리팩터링
    • DB에서 객체 끌어오는 Repository단 리팩터링
    • 덕분에 Service단에서는 Entity 사용가능
  • 예외 처리 필요할듯?
    • DTO에서 사용할 Validation Pipe 구축
      • 예시 1: 모임 생성할 때 관리자 ID 안주면
       {
         "message": [
           "manager should not be empty"
         ],
         "error": "Bad Request",
         "statusCode": 400,
         "timestamp": "2024-04-10T20:32:03.869Z",
         "path": "/group"
       }
      • 예시 2: 모임 회원 생성할 때 전화번호 형식 이상하면
       {
         "message": [
           "phoneNumber must be a valid phone number"
         ],
         "error": "Bad Request",
         "statusCode": 400,
         "timestamp": "2024-04-10T20:13:10.645Z",
         "path": "/member"
       }
    • HTTP Exception Filter
      • 현재는 잘못된 입력 위처럼 걸러주는 용도
      • 이후 다른 형식으로 재사용 가능

해결한 문제

  • 61c2bda 에서 또 까먹고 업데이트할 때 취약점 내줄뻔

테스트

  • 유닛 테스트
  • 빌드 테스트 (통합 테스트)
  • 기타 유효성 테스트

수정 사항 진단

  • 코드가 이 프로젝트의 스타일 지침을 따릅니다.
  • 코드에 대한 자체 리뷰를 수행했습니다.
  • 변경 내역에 대해 주석을 작성했습니다.
  • 해당 PR에 대한 문서를 변경했습니다.
  • 기능, 정책, 수정 사항, 이슈에 대한 테스트 코드를 추가했습니다.
  • 변경 내용이 로컬 개발환경에서의 테스트를 통과했습니다.
  • 모든 종속 변경 사항이 병합되어 다운스트림 모듈에 게시되었습니다.

src/group/group.repository.ts Fixed Show fixed Hide fixed
src/member/member.repository.ts Fixed Show fixed Hide fixed
@w8385 w8385 requested a review from ssoxong April 10, 2024 20:37
@w8385 w8385 added the enhancement New feature or request label Apr 10, 2024
Copy link
Contributor

@ssoxong ssoxong left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM👍👍👍😊😊😊

@w8385 w8385 merged commit 4147688 into dev Apr 11, 2024
5 checks passed
@w8385 w8385 deleted the test/group branch April 11, 2024 04:43
w8385 added a commit that referenced this pull request Apr 11, 2024
* test: 미작성 테스트 코드 삭제

* refactor: Group, Member repository 생성

* refactor: DB 이름 넣어주면서 살짝 변경

* refactor: Group

* refactor: Member

* refactor: HTTP Exception + Class validator

* fix: member.controller.spec.ts

* fix: Database query built from user-controlled sources
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants