feat(audio-recommendation): 추천 섹션 매핑 서비스를 추가한다
This commit is contained in:
+51
@@ -0,0 +1,51 @@
|
||||
package kr.co.vividnext.sodalive.v2.audio.recommendation.application
|
||||
|
||||
import kr.co.vividnext.sodalive.member.contentpreference.MemberContentPreferenceService
|
||||
import kr.co.vividnext.sodalive.v2.audio.recommendation.domain.AudioRecommendationVisibility
|
||||
import kr.co.vividnext.sodalive.v2.audio.recommendation.port.out.AudioRecommendationQueryPort
|
||||
import kr.co.vividnext.sodalive.v2.recommendation.domain.RecommendedSectionType
|
||||
import org.junit.jupiter.api.Assertions.assertEquals
|
||||
import org.junit.jupiter.api.DisplayName
|
||||
import org.junit.jupiter.api.Test
|
||||
import org.mockito.Mockito
|
||||
|
||||
class AudioRecommendationQueryServiceTest {
|
||||
private val queryPort = Mockito.mock(AudioRecommendationQueryPort::class.java)
|
||||
private val preferenceService = Mockito.mock(MemberContentPreferenceService::class.java)
|
||||
private val service = AudioRecommendationQueryService(queryPort, preferenceService)
|
||||
|
||||
@Test
|
||||
@DisplayName("비회원은 SAFE visibility를 사용한다")
|
||||
fun shouldResolveSafeVisibilityForAnonymous() {
|
||||
assertEquals(AudioRecommendationVisibility.SAFE, service.resolveVisibility(null))
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("visibility와 섹션 조합은 신규 RecommendedSectionType으로 매핑된다")
|
||||
fun shouldMapVisibilityToAudioSectionTypes() {
|
||||
assertEquals(
|
||||
RecommendedSectionType.NEW_AND_HOT_AUDIO_SAFE,
|
||||
service.newAndHotSectionType(AudioRecommendationVisibility.SAFE)
|
||||
)
|
||||
assertEquals(
|
||||
RecommendedSectionType.NEW_AND_HOT_AUDIO_ALL,
|
||||
service.newAndHotSectionType(AudioRecommendationVisibility.ALL)
|
||||
)
|
||||
assertEquals(
|
||||
RecommendedSectionType.MOST_COMMENTED_AUDIO_SAFE,
|
||||
service.mostCommentedSectionType(AudioRecommendationVisibility.SAFE)
|
||||
)
|
||||
assertEquals(
|
||||
RecommendedSectionType.MOST_COMMENTED_AUDIO_ALL,
|
||||
service.mostCommentedSectionType(AudioRecommendationVisibility.ALL)
|
||||
)
|
||||
assertEquals(
|
||||
RecommendedSectionType.RECOMMENDED_AUDIO_SAFE,
|
||||
service.recommendedAudioSectionType(AudioRecommendationVisibility.SAFE)
|
||||
)
|
||||
assertEquals(
|
||||
RecommendedSectionType.RECOMMENDED_AUDIO_ALL,
|
||||
service.recommendedAudioSectionType(AudioRecommendationVisibility.ALL)
|
||||
)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user