feat(content): 콘텐츠 상세 조회 이력을 기록한다

This commit is contained in:
2026-05-31 18:20:07 +09:00
parent 43179de810
commit 209d32da2f
2 changed files with 17 additions and 0 deletions

View File

@@ -21,6 +21,7 @@ import kr.co.vividnext.sodalive.i18n.SodaMessageSource
import kr.co.vividnext.sodalive.i18n.translation.ResourceTranslationJobScheduler
import kr.co.vividnext.sodalive.member.Member
import kr.co.vividnext.sodalive.member.block.BlockMemberRepository
import kr.co.vividnext.sodalive.v2.recommend.application.CreatorContentViewHistoryService
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Assertions.assertNull
import org.junit.jupiter.api.Assertions.assertThrows
@@ -41,6 +42,7 @@ class AudioContentServiceTest {
private lateinit var limitedEditionOrderRepository: LimitedEditionOrderRepository
private lateinit var themeQueryRepository: AudioContentThemeQueryRepository
private lateinit var playbackTrackingRepository: PlaybackTrackingRepository
private lateinit var creatorContentViewHistoryService: CreatorContentViewHistoryService
private lateinit var commentRepository: AudioContentCommentRepository
private lateinit var audioContentLikeRepository: AudioContentLikeRepository
private lateinit var pinContentRepository: PinContentRepository
@@ -63,6 +65,7 @@ class AudioContentServiceTest {
limitedEditionOrderRepository = Mockito.mock(LimitedEditionOrderRepository::class.java)
themeQueryRepository = Mockito.mock(AudioContentThemeQueryRepository::class.java)
playbackTrackingRepository = Mockito.mock(PlaybackTrackingRepository::class.java)
creatorContentViewHistoryService = Mockito.mock(CreatorContentViewHistoryService::class.java)
commentRepository = Mockito.mock(AudioContentCommentRepository::class.java)
audioContentLikeRepository = Mockito.mock(AudioContentLikeRepository::class.java)
pinContentRepository = Mockito.mock(PinContentRepository::class.java)
@@ -82,6 +85,7 @@ class AudioContentServiceTest {
limitedEditionOrderRepository = limitedEditionOrderRepository,
themeQueryRepository = themeQueryRepository,
playbackTrackingRepository = playbackTrackingRepository,
creatorContentViewHistoryService = creatorContentViewHistoryService,
commentRepository = commentRepository,
audioContentLikeRepository = audioContentLikeRepository,
pinContentRepository = pinContentRepository,
@@ -230,6 +234,10 @@ class AudioContentServiceTest {
Mockito.verify(repository, Mockito.never()).findSeriesIdByContentId(audioContent.id!!, false)
Mockito.verifyNoInteractions(commentRepository)
val recordViewInvocation = Mockito.mockingDetails(creatorContentViewHistoryService).invocations
.single { it.method.name == "recordView" }
assertEquals(viewer.id!!, recordViewInvocation.arguments[0])
assertEquals(audioContent.id!!, recordViewInvocation.arguments[1])
}
private fun createMember(id: Long, nickname: String): Member {