From 2d8f8cab817cd2f51715344e380ec020eaf7e71a Mon Sep 17 00:00:00 2001 From: klaus Date: Sun, 12 Jul 2026 09:54:26 +0900 Subject: [PATCH] =?UTF-8?q?fix(community):=20=EC=83=81=EC=84=B8=20?= =?UTF-8?q?=EC=9E=A0=EA=B8=88=20=EB=B0=98=EC=9D=91=EA=B3=BC=20=EB=8C=93?= =?UTF-8?q?=EA=B8=80=EC=9D=84=20=EC=88=A8=EA=B8=B4=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CreatorChannelCommunityDetailActivity.kt | 3 ++ .../CreatorChannelCommunityDetailViewModel.kt | 18 ++++++----- ...ivity_creator_channel_community_detail.xml | 3 +- ...atorChannelCommunityDetailViewModelTest.kt | 30 +++++++++++++++++++ 4 files changed, 46 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/community/detail/CreatorChannelCommunityDetailActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/community/detail/CreatorChannelCommunityDetailActivity.kt index 748aabaf..206d37f3 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/community/detail/CreatorChannelCommunityDetailActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/community/detail/CreatorChannelCommunityDetailActivity.kt @@ -140,12 +140,15 @@ class CreatorChannelCommunityDetailActivity : BaseActivity diff --git a/app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/community/CreatorChannelCommunityDetailViewModelTest.kt b/app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/community/CreatorChannelCommunityDetailViewModelTest.kt index d4420a81..8c3e1cc5 100644 --- a/app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/community/CreatorChannelCommunityDetailViewModelTest.kt +++ b/app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/community/CreatorChannelCommunityDetailViewModelTest.kt @@ -373,6 +373,36 @@ class CreatorChannelCommunityDetailViewModelTest { assertTrue(state.post.showPaywall) } + @Test + fun `유료 미구매 게시물은 작성자가 아니면 reaction 현황과 댓글을 숨긴다`() { + SharedPreferenceManager.userId = 10L + stubDetail( + detailResponse( + isCommentAvailable = true, + isLiked = true, + likeCount = 3, + price = 300, + existOrdered = false, + creatorId = 999L, + commentIds = listOf(11L), + commentsHasNext = true + ) + ) + + viewModel.loadDetail(POST_ID) + viewModel.updateCommentInput("hello") + viewModel.submitComment() + + val state = viewModel.detailStateLiveData.requireValue() as CreatorChannelCommunityDetailUiState.Content + assertTrue(state.post.isLocked) + assertFalse(state.post.showReaction) + assertFalse(state.isCommentAvailable) + assertFalse(state.isCommentInputVisible) + assertTrue(state.comments.isEmpty()) + assertFalse(state.hasNextComment) + verify(legacyRepository, never()).registerComment(any(), any(), any(), any(), any()) + } + @Test fun `채널 작성자는 유료 미구매 게시물도 이미지와 오디오 URL을 볼 수 있다`() { SharedPreferenceManager.userId = 999L