diff --git a/app/src/main/java/kr/co/vividnext/sodalive/v2/live/onair/model/HomeOnAirLiveEntryPolicy.kt b/app/src/main/java/kr/co/vividnext/sodalive/v2/live/onair/model/HomeOnAirLiveEntryPolicy.kt new file mode 100644 index 00000000..c5430e4e --- /dev/null +++ b/app/src/main/java/kr/co/vividnext/sodalive/v2/live/onair/model/HomeOnAirLiveEntryPolicy.kt @@ -0,0 +1,7 @@ +package kr.co.vividnext.sodalive.v2.live.onair.model + +import kr.co.vividnext.sodalive.live.room.detail.GetRoomDetailResponse + +fun canEnterHomeOnAirLiveRoom(roomDetail: GetRoomDetailResponse): Boolean { + return roomDetail.channelName.isNullOrBlank().not() +} diff --git a/app/src/test/java/kr/co/vividnext/sodalive/v2/live/onair/HomeOnAirLiveEntryPolicyTest.kt b/app/src/test/java/kr/co/vividnext/sodalive/v2/live/onair/HomeOnAirLiveEntryPolicyTest.kt new file mode 100644 index 00000000..6e63e9c8 --- /dev/null +++ b/app/src/test/java/kr/co/vividnext/sodalive/v2/live/onair/HomeOnAirLiveEntryPolicyTest.kt @@ -0,0 +1,58 @@ +package kr.co.vividnext.sodalive.v2.live.onair + +import kr.co.vividnext.sodalive.live.room.GenderRestriction +import kr.co.vividnext.sodalive.live.room.detail.GetRoomDetailManager +import kr.co.vividnext.sodalive.live.room.detail.GetRoomDetailResponse +import kr.co.vividnext.sodalive.v2.live.onair.model.canEnterHomeOnAirLiveRoom +import org.junit.Assert.assertFalse +import org.junit.Assert.assertTrue +import org.junit.Test + +class HomeOnAirLiveEntryPolicyTest { + + @Test + fun `channelName이 있으면 입장 분기를 허용한다`() { + assertTrue(canEnterHomeOnAirLiveRoom(roomDetail(channelName = "channel-a"))) + } + + @Test + fun `channelName이 null이면 입장 분기를 중단한다`() { + assertFalse(canEnterHomeOnAirLiveRoom(roomDetail(channelName = null))) + } + + @Test + fun `channelName이 blank이면 입장 분기를 중단한다`() { + assertFalse(canEnterHomeOnAirLiveRoom(roomDetail(channelName = " "))) + } + + private fun roomDetail(channelName: String?) = GetRoomDetailResponse( + roomId = 1L, + price = 0, + title = "title", + notice = "notice", + isPaid = false, + isAdult = false, + genderRestriction = GenderRestriction.ALL, + isPrivateRoom = false, + password = null, + tags = emptyList(), + channelName = channelName, + beginDateTimeUtc = "2026-06-26T12:00:00", + isNotification = false, + numberOfParticipants = 1, + numberOfParticipantsTotal = 10, + manager = GetRoomDetailManager( + id = 100L, + nickname = "creator", + introduce = "", + youtubeUrl = null, + instagramUrl = null, + kakaoOpenChatUrl = null, + fancimmUrl = null, + xUrl = null, + profileImageUrl = "", + isCreator = true + ), + participatingUsers = emptyList() + ) +}