fix(creator-channel): 조회자 역할로 라이브 제한을 판정한다

This commit is contained in:
2026-09-17 19:14:42 +09:00
parent 542bf81b58
commit ccb00e3a08
2 changed files with 23 additions and 2 deletions
@@ -58,7 +58,7 @@ class CreatorChannelLiveQueryService(
validateCreatorRole(creator) validateCreatorRole(creator)
val canViewAdultContent = memberContentPreferenceService.canViewAdultContent(viewer) val canViewAdultContent = memberContentPreferenceService.canViewAdultContent(viewer)
val isViewerCreator = viewerId == creatorId val isViewerCreator = viewer.role == MemberRole.CREATOR
val effectiveViewerGender = viewer.effectiveGender() val effectiveViewerGender = viewer.effectiveGender()
val fetchedContents = queryPort.findLiveReplayAudioContents( val fetchedContents = queryPort.findLiveReplayAudioContents(
creatorId = creatorId, creatorId = creatorId,
@@ -62,6 +62,25 @@ class CreatorChannelLiveQueryServiceTest {
assertEquals("https://cdn.test/audio/1.png", tab.liveReplayContents.first().imageUrl) assertEquals("https://cdn.test/audio/1.png", tab.liveReplayContents.first().imageUrl)
} }
@Test
@DisplayName("다른 크리에이터가 조회하면 현재 라이브 조회에 크리에이터 여부를 전달한다")
fun shouldPassCreatorViewerStatusToCurrentLiveQuery() {
val port = FakeCreatorChannelLiveQueryPort()
val service = createService(port)
val viewer = createMember(id = 10L, role = MemberRole.CREATOR)
service.getLiveTab(
creatorId = 1L,
viewer = viewer,
sort = ContentSort.LATEST,
page = 0,
size = 20,
now = LocalDateTime.of(2026, 6, 17, 10, 0)
)
assertTrue(port.currentLiveIsViewerCreator == true)
}
@Test @Test
@DisplayName("라이브 탭 서비스는 size + 1개 조회 결과를 응답 size로 제한하고 hasNext를 true로 반환한다") @DisplayName("라이브 탭 서비스는 size + 1개 조회 결과를 응답 size로 제한하고 hasNext를 true로 반환한다")
fun shouldAssembleLiveTabWithHasNextWhenFetchedMoreThanRequestedSize() { fun shouldAssembleLiveTabWithHasNextWhenFetchedMoreThanRequestedSize() {
@@ -236,7 +255,8 @@ class CreatorChannelLiveQueryServiceTest {
private fun createMember( private fun createMember(
id: Long, id: Long,
gender: Gender = Gender.NONE, gender: Gender = Gender.NONE,
authGender: Int? = null authGender: Int? = null,
role: MemberRole = MemberRole.USER
): Member { ): Member {
val member = Member( val member = Member(
email = "member$id@test.com", email = "member$id@test.com",
@@ -246,6 +266,7 @@ class CreatorChannelLiveQueryServiceTest {
gender = gender gender = gender
) )
member.id = id member.id = id
member.role = role
authGender?.let { authGender?.let {
Auth( Auth(
name = "name", name = "name",