diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/audition/AuditionController.kt b/src/main/kotlin/kr/co/vividnext/sodalive/audition/AuditionController.kt index f1579d74..790b588b 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/audition/AuditionController.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/audition/AuditionController.kt @@ -22,7 +22,7 @@ class AuditionController(private val service: AuditionService) { service.getAuditionList( offset = pageable.offset, limit = pageable.pageSize.toLong(), - isAdult = member?.auth != null + memberId = member?.id ) ) } diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/audition/AuditionService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/audition/AuditionService.kt index 7871bcd0..ff9bef94 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/audition/AuditionService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/audition/AuditionService.kt @@ -1,12 +1,14 @@ package kr.co.vividnext.sodalive.audition import kr.co.vividnext.sodalive.audition.role.AuditionRoleRepository +import kr.co.vividnext.sodalive.member.auth.AuthRepository import org.springframework.stereotype.Service @Service class AuditionService( private val repository: AuditionRepository, - private val roleRepository: AuditionRoleRepository + private val roleRepository: AuditionRoleRepository, + private val authRepository: AuthRepository ) { fun getAuditionList(offset: Long, limit: Long, isAdult: Boolean): GetAuditionListResponse { val inProgressCount = repository.getInProgressAuditionCount(isAdult = isAdult) @@ -16,6 +18,11 @@ class AuditionService( return GetAuditionListResponse(inProgressCount, completedCount, items) } + fun getAuditionList(offset: Long, limit: Long, memberId: Long?): GetAuditionListResponse { + val isAdult = memberId?.let { authRepository.getAuthIdByMemberId(it) != null } ?: false + return getAuditionList(offset = offset, limit = limit, isAdult = isAdult) + } + fun getAuditionDetail(auditionId: Long): GetAuditionDetailResponse { val auditionDetail = repository.getAuditionDetail(auditionId = auditionId) val roleList = roleRepository.getAuditionRoleListByAuditionId(auditionId = auditionId) diff --git a/src/test/kotlin/kr/co/vividnext/sodalive/audition/AuditionServiceTest.kt b/src/test/kotlin/kr/co/vividnext/sodalive/audition/AuditionServiceTest.kt new file mode 100644 index 00000000..d46adf00 --- /dev/null +++ b/src/test/kotlin/kr/co/vividnext/sodalive/audition/AuditionServiceTest.kt @@ -0,0 +1,28 @@ +package kr.co.vividnext.sodalive.audition + +import kr.co.vividnext.sodalive.audition.role.AuditionRoleRepository +import kr.co.vividnext.sodalive.member.auth.AuthRepository +import org.junit.jupiter.api.Test +import org.mockito.Mockito + +class AuditionServiceTest { + private val repository = Mockito.mock(AuditionRepository::class.java) + private val authRepository = Mockito.mock(AuthRepository::class.java) + private val service = AuditionService( + repository = repository, + roleRepository = Mockito.mock(AuditionRoleRepository::class.java), + authRepository = authRepository + ) + + @Test + fun shouldResolveAdultFlagFromAuthRepositoryForAuditionList() { + Mockito.`when`(authRepository.getAuthIdByMemberId(10L)).thenReturn(100L) + Mockito.`when`(repository.getInProgressAuditionCount(true)).thenReturn(1) + Mockito.`when`(repository.getCompletedAuditionCount(true)).thenReturn(2) + Mockito.`when`(repository.getAuditionList(0L, 20L, true)).thenReturn(emptyList()) + + service.getAuditionList(offset = 0L, limit = 20L, memberId = 10L) + + Mockito.verify(repository).getAuditionList(0L, 20L, true) + } +}