feat(content-preference): 콘텐츠 조회 설정 서버 저장 전환을 반영한다
This commit is contained in:
+27
-5
@@ -3,6 +3,8 @@ package kr.co.vividnext.sodalive.live.recommend
|
||||
import kr.co.vividnext.sodalive.member.Member
|
||||
import kr.co.vividnext.sodalive.member.auth.Auth
|
||||
import kr.co.vividnext.sodalive.member.block.BlockMemberRepository
|
||||
import kr.co.vividnext.sodalive.member.contentpreference.MemberContentPreferenceService
|
||||
import kr.co.vividnext.sodalive.member.contentpreference.ViewerContentPreference
|
||||
import org.junit.jupiter.api.Assertions.assertEquals
|
||||
import org.junit.jupiter.api.BeforeEach
|
||||
import org.junit.jupiter.api.Test
|
||||
@@ -11,13 +13,22 @@ import org.mockito.Mockito
|
||||
class LiveRecommendServiceTest {
|
||||
private lateinit var repository: LiveRecommendRepository
|
||||
private lateinit var blockMemberRepository: BlockMemberRepository
|
||||
private lateinit var memberContentPreferenceService: MemberContentPreferenceService
|
||||
private lateinit var liveRecommendCacheService: LiveRecommendCacheService
|
||||
private lateinit var service: LiveRecommendService
|
||||
|
||||
@BeforeEach
|
||||
fun setup() {
|
||||
repository = Mockito.mock(LiveRecommendRepository::class.java)
|
||||
blockMemberRepository = Mockito.mock(BlockMemberRepository::class.java)
|
||||
service = LiveRecommendService(repository, blockMemberRepository)
|
||||
memberContentPreferenceService = Mockito.mock(MemberContentPreferenceService::class.java)
|
||||
liveRecommendCacheService = Mockito.mock(LiveRecommendCacheService::class.java)
|
||||
service = LiveRecommendService(
|
||||
repository = repository,
|
||||
blockMemberRepository = blockMemberRepository,
|
||||
memberContentPreferenceService = memberContentPreferenceService,
|
||||
liveRecommendCacheService = liveRecommendCacheService
|
||||
)
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -39,24 +50,35 @@ class LiveRecommendServiceTest {
|
||||
auth.member = member
|
||||
|
||||
val expected = listOf(GetRecommendLiveResponse(imageUrl = "https://cdn.test/recommend.png", creatorId = 77L))
|
||||
Mockito.`when`(repository.getRecommendLive(memberId = member.id, isAdult = true)).thenReturn(expected)
|
||||
Mockito.`when`(memberContentPreferenceService.getStoredPreference(member)).thenReturn(
|
||||
ViewerContentPreference(
|
||||
countryCode = "KR",
|
||||
isAdultContentVisible = true,
|
||||
contentType = kr.co.vividnext.sodalive.content.ContentType.ALL,
|
||||
isAdult = true
|
||||
)
|
||||
)
|
||||
Mockito.`when`(liveRecommendCacheService.getRecommendLive(memberId = member.id, isAdult = true)).thenReturn(expected)
|
||||
|
||||
val result = service.getRecommendLive(member)
|
||||
|
||||
assertEquals(expected, result)
|
||||
Mockito.verify(repository).getRecommendLive(memberId = member.id, isAdult = true)
|
||||
Mockito.verify(liveRecommendCacheService).getRecommendLive(memberId = member.id, isAdult = true)
|
||||
Mockito.verifyNoInteractions(repository)
|
||||
Mockito.verifyNoInteractions(blockMemberRepository)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun shouldDelegateToRepositoryAsGuestWhenMemberIsNull() {
|
||||
val expected = listOf(GetRecommendLiveResponse(imageUrl = "https://cdn.test/recommend-guest.png", creatorId = 88L))
|
||||
Mockito.`when`(repository.getRecommendLive(memberId = null, isAdult = false)).thenReturn(expected)
|
||||
Mockito.`when`(liveRecommendCacheService.getRecommendLive(memberId = null, isAdult = false)).thenReturn(expected)
|
||||
|
||||
val result = service.getRecommendLive(null)
|
||||
|
||||
assertEquals(expected, result)
|
||||
Mockito.verify(repository).getRecommendLive(memberId = null, isAdult = false)
|
||||
Mockito.verify(liveRecommendCacheService).getRecommendLive(memberId = null, isAdult = false)
|
||||
Mockito.verifyNoInteractions(repository)
|
||||
Mockito.verifyNoInteractions(blockMemberRepository)
|
||||
Mockito.verifyNoInteractions(memberContentPreferenceService)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user