diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/v2/api/home/application/HomeRecommendationFacade.kt b/src/main/kotlin/kr/co/vividnext/sodalive/v2/api/home/application/HomeRecommendationFacade.kt index f4adb1ce..ac8ab797 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/v2/api/home/application/HomeRecommendationFacade.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/v2/api/home/application/HomeRecommendationFacade.kt @@ -217,7 +217,7 @@ class HomeRecommendationFacade( return memberContentPreferenceService.canViewAdultContent(member) } - private fun Int.toOffset(size: Int): Int = this * size + private fun Int.toOffset(size: Int): Long = this.toLong() * size private fun List.toPage( page: Int, diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/v2/api/home/live/application/HomeOnAirLiveFacade.kt b/src/main/kotlin/kr/co/vividnext/sodalive/v2/api/home/live/application/HomeOnAirLiveFacade.kt index 3600b29e..a55f9078 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/v2/api/home/live/application/HomeOnAirLiveFacade.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/v2/api/home/live/application/HomeOnAirLiveFacade.kt @@ -21,7 +21,7 @@ class HomeOnAirLiveFacade( fun getOnAirLives(member: Member, page: Int): HomeOnAirLivePageResponse { val normalizedPage = page.coerceIn(0, MAX_PAGE) val fetched = queryService.findLiveRecommendations( - offset = normalizedPage * PAGE_SIZE, + offset = normalizedPage.toLong() * PAGE_SIZE, limit = PAGE_SIZE + 1, memberId = member.id, includeAdultLives = memberContentPreferenceService.canViewAdultContent(member) diff --git a/src/test/kotlin/kr/co/vividnext/sodalive/v2/api/home/HomeRecommendationControllerTest.kt b/src/test/kotlin/kr/co/vividnext/sodalive/v2/api/home/HomeRecommendationControllerTest.kt index 3e179bae..dc151902 100644 --- a/src/test/kotlin/kr/co/vividnext/sodalive/v2/api/home/HomeRecommendationControllerTest.kt +++ b/src/test/kotlin/kr/co/vividnext/sodalive/v2/api/home/HomeRecommendationControllerTest.kt @@ -318,7 +318,7 @@ class HomeRecommendationControllerTest @Autowired constructor( Mockito.`when`( failingQueryService.findRecentDebutCreators( now = Mockito.any(LocalDateTime::class.java) ?: LocalDateTime.MIN, - offset = Mockito.eq(0), + offset = Mockito.eq(0L), limit = Mockito.eq(21), memberId = Mockito.eq(member.id), includeAdultContents = Mockito.eq(false) @@ -327,13 +327,13 @@ class HomeRecommendationControllerTest @Autowired constructor( Mockito.`when`( failingQueryService.findFirstAudioContents( now = Mockito.any(LocalDateTime::class.java) ?: LocalDateTime.MIN, - offset = Mockito.eq(0), + offset = Mockito.eq(0L), limit = Mockito.eq(21), memberId = Mockito.eq(member.id), includeAdultContents = Mockito.eq(false) ) ).thenThrow(IllegalStateException("first audio page failed")) - Mockito.`when`(failingQueryService.findAiCharacterRecommendations(offset = 0, limit = 21)) + Mockito.`when`(failingQueryService.findAiCharacterRecommendations(offset = 0L, limit = 21)) .thenThrow(IllegalStateException("ai page failed")) assertThrows(IllegalStateException::class.java) { facade.getRecentDebutCreators(member, page = 0, size = 20) } diff --git a/src/test/kotlin/kr/co/vividnext/sodalive/v2/api/home/live/application/HomeOnAirLiveFacadeTest.kt b/src/test/kotlin/kr/co/vividnext/sodalive/v2/api/home/live/application/HomeOnAirLiveFacadeTest.kt index e9252ca5..569921d0 100644 --- a/src/test/kotlin/kr/co/vividnext/sodalive/v2/api/home/live/application/HomeOnAirLiveFacadeTest.kt +++ b/src/test/kotlin/kr/co/vividnext/sodalive/v2/api/home/live/application/HomeOnAirLiveFacadeTest.kt @@ -22,7 +22,7 @@ class HomeOnAirLiveFacadeTest { val member = createMember(100L) Mockito.doReturn(true).`when`(preferenceService).canViewAdultContent(member) Mockito.doReturn((1L..21L).map { record(it) }).`when`(queryService).findLiveRecommendations( - eqValue(0), + eqValue(0L), eqValue(21), eqValue(member.id), eqValue(true) @@ -34,7 +34,7 @@ class HomeOnAirLiveFacadeTest { assertEquals(20, response.size) assertEquals(true, response.hasNext) assertEquals(20, response.items.size) - Mockito.verify(queryService).findLiveRecommendations(eqValue(0), eqValue(21), eqValue(member.id), eqValue(true)) + Mockito.verify(queryService).findLiveRecommendations(eqValue(0L), eqValue(21), eqValue(member.id), eqValue(true)) } @Test @@ -43,7 +43,7 @@ class HomeOnAirLiveFacadeTest { val member = createMember(100L) Mockito.doReturn(false).`when`(preferenceService).canViewAdultContent(member) Mockito.doReturn(listOf(record(1L, creatorProfileImage = null))).`when`(queryService).findLiveRecommendations( - eqValue(0), + eqValue(0L), eqValue(21), eqValue(member.id), eqValue(false) @@ -60,7 +60,7 @@ class HomeOnAirLiveFacadeTest { val member = createMember(100L) Mockito.doReturn(false).`when`(preferenceService).canViewAdultContent(member) Mockito.doReturn(listOf(record(1L, beginDateTime = LocalDateTime.of(2026, 6, 26, 12, 30)))).`when`(queryService) - .findLiveRecommendations(eqValue(0), eqValue(21), eqValue(member.id), eqValue(false)) + .findLiveRecommendations(eqValue(0L), eqValue(21), eqValue(member.id), eqValue(false)) val response = facade.getOnAirLives(member, page = 0)