Conversation
|
Important Review skippedAuto incremental reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Walkthrough이번 PR은 게시글의 고정 기능을 추가하기 위해 여러 계층에서 변경이 이루어졌습니다. 게시글 생성 및 수정 과정에 Changes
Assessment against linked issues
Possibly related PRs
Suggested reviewers
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (2)
aics-domain/src/testFixtures/java/post/application/PostCommandServiceTest.java (1)
93-112: 고정 상태 토글 테스트 기능 확인 필요이미 존재하는
togglePostPinStatus테스트 케이스가 있는데, 새로 추가된 게시글 생성/수정 시의 고정 기능과 어떻게 상호작용하는지 테스트 케이스가 없습니다. 두 기능 간의 관계를 명확히 하는 추가 테스트가 필요할 수 있습니다.다음과 같은 추가 테스트 케이스를 고려해보세요:
@Test @DisplayName("게시글 생성 시 isPinned 값이 올바르게 설정되는지 확인") public void createPost_WithIsPinned_Success() { // given String title = "test"; String content = "test"; Category category = NOTIFICATION; Long fileId = 1L; boolean isPinned = true; // when Long postId = postCommandService.createPost(title, content, category, fileId, isPinned); Post post = postQueryService.getById(postId); // then assertEquals(isPinned, post.isPinned()); } @Test @DisplayName("게시글 수정 시 isPinned 값이 올바르게 업데이트되는지 확인") public void updatePost_WithIsPinned_Success() { // given Post post = Post.builder().build(); boolean newPinnedStatus = !post.isPinned(); // when postCommandService.updatePost(post, "title", "content", NOTIFICATION, 1L, newPinnedStatus); // then assertEquals(newPinnedStatus, post.isPinned()); }aics-domain/src/main/java/kgu/developers/domain/post/application/command/PostCommandService.java (1)
45-47: 토글 메서드와 업데이트 메서드가 모두 존재합니다.현재 isPinned 값을 직접 설정하는 updatePost 메서드와 토글하는 togglePostPinStatus 메서드가 모두 존재합니다. 두 기능이 모두 필요한지 검토해보세요. 만약 두 기능이 모두 필요하다면, 문서화 주석을 추가하여 각 메서드의 용도를 명확히 설명하는 것이 좋을 것 같습니다.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (6)
aics-admin/src/main/java/kgu/developers/admin/post/application/PostAdminFacade.java(1 hunks)aics-admin/src/main/java/kgu/developers/admin/post/presentation/request/PostCreateRequest.java(1 hunks)aics-admin/src/main/java/kgu/developers/admin/post/presentation/request/PostUpdateRequest.java(1 hunks)aics-domain/src/main/java/kgu/developers/domain/post/application/command/PostCommandService.java(1 hunks)aics-domain/src/main/java/kgu/developers/domain/post/domain/Post.java(3 hunks)aics-domain/src/testFixtures/java/post/application/PostCommandServiceTest.java(2 hunks)
🔇 Additional comments (12)
aics-admin/src/main/java/kgu/developers/admin/post/presentation/request/PostCreateRequest.java (1)
31-34: 게시글 고정 기능이 올바르게 추가되었습니다.
isPinned필드가 적절히 추가되었으며,@Schema어노테이션을 통해 필드의 설명, 예시값, 필수 여부가 명확하게 정의되어 있습니다. 이 변경은 PR 목표인 게시글 고정 기능 추가를 위한 필수적인 부분입니다.aics-admin/src/main/java/kgu/developers/admin/post/presentation/request/PostUpdateRequest.java (1)
34-37: 게시글 수정 요청에 고정 기능이 올바르게 추가되었습니다.
isPinned필드가 적절히 추가되었으며,@Schema어노테이션을 통해 필드의 설명, 예시값, 필수 여부가 명확하게 정의되어 있습니다. 이 변경은 게시글 수정 시에도 고정 여부를 설정할 수 있도록 하는 PR 목표에 부합합니다.aics-admin/src/main/java/kgu/developers/admin/post/application/PostAdminFacade.java (3)
22-25: 게시글 생성 시 고정 여부를 전달하는 로직이 올바르게 구현되었습니다.
PostCreateRequest에서 추가된isPinned필드를 서비스 계층으로 올바르게 전달하고 있습니다. 이는 게시글 생성 시 고정 여부를 설정할 수 있도록 하는 PR 목표를 달성합니다.
27-31: 게시글 수정 시 고정 여부를 전달하는 로직이 올바르게 구현되었습니다.
PostUpdateRequest에서 추가된isPinned필드를 서비스 계층으로 올바르게 전달하고 있습니다. 이는 게시글 수정 시 고정 여부를 변경할 수 있도록 하는 PR 목표를 달성합니다.
33-37: 기존 토글 기능과 새로운 고정 기능의 관계 검토 필요
togglePostPinStatus메서드가 이미 존재하는데, 새로 추가된isPinned파라미터 기능과 중복될 가능성이 있습니다. 두 기능의 목적과 사용 시나리오를 명확히 구분하는 것이 좋겠습니다.이 PR에서 기존 토글 기능과 새로 추가된 게시글 생성/수정 시 고정 기능 설정이 어떻게 상호작용하는지 확인이 필요합니다. 예를 들어:
- 게시글 생성/수정 시
isPinned로 고정 상태를 직접 설정함- 기존의
togglePostPinStatus는 현재 상태를 반전시킴이 두 기능이 명확히 구분되는지, 혹은 하나로 통합되어야 하는지 검토해보세요.
aics-domain/src/testFixtures/java/post/application/PostCommandServiceTest.java (2)
67-69: 게시글 생성 테스트에 고정 기능이 올바르게 추가되었습니다.게시글 생성 기능 테스트에 새로운
isPinned파라미터를false로 설정하여 추가했습니다. 이는 서비스 계층의 변경 사항에 맞게 테스트를 업데이트한 것으로 적절합니다.
84-86: 게시글 수정 테스트에 고정 기능이 올바르게 추가되었습니다.게시글 수정 기능 테스트에 새로운
isPinned파라미터를false로 설정하여 추가했습니다. 이는 서비스 계층의 변경 사항에 맞게 테스트를 업데이트한 것으로 적절합니다.aics-domain/src/main/java/kgu/developers/domain/post/application/command/PostCommandService.java (2)
21-21: 게시글 생성 시 고정 여부를 설정할 수 있도록 개선되었습니다.게시글 생성 메서드에 isPinned 매개변수가 추가되어 게시글 생성 시 고정 여부를 지정할 수 있게 되었습니다. 이 변경사항은 PR 목표에 잘 부합합니다.
Also applies to: 28-28
32-32: 게시글 수정 시 고정 여부를 변경할 수 있도록 개선되었습니다.게시글 수정 메서드에 isPinned 매개변수가 추가되고, 해당 값을 사용하여 게시글의 고정 상태를 업데이트하는 로직이 추가되었습니다. 이 변경사항은 요구사항을 명확하게 구현했습니다.
Also applies to: 36-36
aics-domain/src/main/java/kgu/developers/domain/post/domain/Post.java (3)
68-68: 게시글 생성 시 고정 여부를 설정할 수 있도록 개선되었습니다.게시글 생성 메서드에 isPinned 매개변수가 추가되어 게시글 생성 시 고정 여부를 지정할 수 있게 되었습니다. 이 변경사항은 PR 목표에 잘 부합합니다.
Also applies to: 73-73
92-94: 고정 여부를 직접 설정하는 메서드가
추가되었습니다.게시글의 고정 상태를 직접 설정할 수 있는 updatePinned 메서드가 추가되었습니다. 이 메서드는 게시글 수정 기능에서 고정 여부를 업데이트하는 데 사용됩니다.
104-106: 원래 있던 토글 기능이 재구현되었습니다.고정 상태를 직접 설정하는 기능을 추가하면서, 기존의 토글 기능도 함께 유지되었습니다. 이는 기존 코드와의 호환성을 유지하면서 새로운 기능을 추가하는 좋은 접근 방식입니다.
Test Coverage Report
Files
|
Codecov ReportAll modified and coverable lines are covered by tests ✅ @@ Coverage Diff @@
## develop #231 +/- ##
=============================================
+ Coverage 91.37% 91.42% +0.05%
- Complexity 158 159 +1
=============================================
Files 49 49
Lines 452 455 +3
Branches 9 9
=============================================
+ Hits 413 416 +3
Misses 29 29
Partials 10 10
Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|
Summary
게시글 작성, 수정 시 고정 여부 추가
Tasks