Fix: 테스트 작성 중 발견한 버그 6건 수정 - #22
Merged
Merged
Conversation
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📌 변경 내용
테스트 코드 작성 중 발견한 버그 6건 + 추가로 발견한 버그 2건을 수정했습니다.
IntegrityError처리 블록이MemberUpdateIn에 없는data.email을 참조해AttributeError로 죽던 문제 수정 →create()처럼bad_request(400)로 정상 변환is_deleted)를 체크하지 않던 문제 수정 → member/project와 동일하게 soft delete 안 된 공지는 hard delete 불가project_id가 경로와 달라도 검증 없이 처리되던 문제 → 애초에 안 쓰이던 body의project_id필드 자체를 제거해 불일치가 구조적으로 불가능하도록 수정. 겸사겸사 대상 멤버가 해당 프로젝트 멤버인지도 검증하도록 추가 (프로필 페이지에서 임의 프로젝트로 DM 생성 가능하던 문제)start_date/end_date가 timezone 정보 없이 저장되던 문제 → 컬럼 타입을 timezone-aware로 변경 + 마이그레이션 추가AppError.not_found()에 완성된 문장을 그대로 넘겨"~습니다.을(를) 찾을 수 없습니다."처럼 메시지가 중복 출력되던 문제를 8개 파일에서 일괄 정리downgrade()가 테이블만 지우고 Postgres ENUM 타입은 안 지워서, downgrade 후 재적용 시type already exists에러가 나던 문제 수정프론트(정적 테스트 페이지)도 같이 손봤습니다: DM 생성 진입점을 "프로필에서 프로젝트 선택"에서 "프로젝트 멤버 목록에서 바로 시작"으로 변경해, 애초에 잘못된 프로젝트를 고르거나 멤버가 아닌 사람과 DM방을 만들 수 있는 상황 자체를 없앴습니다.
참고로 초대 거절(
decline_invitation)이 만료 여부를 체크하지 않는 것도 원래 버그 리포트에 있었지만, 검토 결과 accept와 달리 decline은 부작용(멤버십 생성)이 없어서 만료 여부와 상관없이 항상 성공 처리하는 게 맞다고 판단해 수정하지 않았습니다.🎯 변경 이유
테스트 코드를 작성하는 과정에서 예외 처리 누락·검증 누락·타입 불일치로 보이는 버그들을 발견해 수정했습니다. 일부는 수정 중에 관련된 다른 문제(채팅 메시지 접근 제어, 에러 메시지 중복, 마이그레이션 downgrade 버그)도 같이 발견되어 함께 정리했습니다.
🔗 관련 이슈
🧪 테스트 방법
테스트 상세
✅ 체크리스트