feat(recommendation): 추천 배너 언어 필터를 적용한다
This commit is contained in:
+26
-1
@@ -1,5 +1,6 @@
|
||||
package kr.co.vividnext.sodalive.v2.api.home.application
|
||||
|
||||
import kr.co.vividnext.sodalive.i18n.Lang
|
||||
import kr.co.vividnext.sodalive.member.Member
|
||||
import kr.co.vividnext.sodalive.member.contentpreference.MemberContentPreferenceService
|
||||
import kr.co.vividnext.sodalive.v2.recommendation.application.HomeRecommendationQueryService
|
||||
@@ -56,6 +57,27 @@ class HomeRecommendationFacadeTest {
|
||||
assertTrue(queryPort.bannerIncludeAdultBanners)
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("홈 추천은 JP 국가 판정이면 JA 배너 조회를 요청한다")
|
||||
fun shouldPassJaToHomeBannerQueryForJapan() {
|
||||
val member = Member(password = "password", nickname = "jp-member").apply { id = 11L }
|
||||
Mockito.doReturn("JP").`when`(preferenceService).resolveCountryCode(member)
|
||||
|
||||
facade.getHomeRecommendations(member)
|
||||
|
||||
assertTrue(queryPort.bannerLang == Lang.JA)
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("홈 추천은 JP 이외 국가 판정이면 KO 배너 조회를 요청한다")
|
||||
fun shouldPassKoToHomeBannerQueryForNonJapan() {
|
||||
Mockito.doReturn("KR").`when`(preferenceService).resolveCountryCode(null)
|
||||
|
||||
facade.getHomeRecommendations(null)
|
||||
|
||||
assertTrue(queryPort.bannerLang == Lang.KO)
|
||||
}
|
||||
|
||||
private fun firstAudio(price: Int, isPointAvailable: Boolean): HomeFirstAudioContentRecord {
|
||||
return HomeFirstAudioContentRecord(
|
||||
contentId = price.toLong() + 1,
|
||||
@@ -74,6 +96,7 @@ class HomeRecommendationFacadeTest {
|
||||
private class FakeHomeRecommendationQueryPort : HomeRecommendationQueryPort {
|
||||
var firstAudioContents: List<HomeFirstAudioContentRecord> = emptyList()
|
||||
var bannerIncludeAdultBanners: Boolean = false
|
||||
var bannerLang: Lang? = null
|
||||
|
||||
override fun findLiveRecommendations(
|
||||
offset: Long,
|
||||
@@ -85,9 +108,11 @@ class HomeRecommendationFacadeTest {
|
||||
override fun findHomeBanners(
|
||||
limit: Int,
|
||||
memberId: Long?,
|
||||
includeAdultBanners: Boolean
|
||||
includeAdultBanners: Boolean,
|
||||
lang: Lang
|
||||
): List<HomeBannerRecommendationRecord> {
|
||||
bannerIncludeAdultBanners = includeAdultBanners
|
||||
bannerLang = lang
|
||||
return emptyList()
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user