test #426
@@ -1,10 +1,9 @@
|
|||||||
package kr.co.vividnext.sodalive.v2.creator.channel.adapter.`in`.web
|
package kr.co.vividnext.sodalive.v2.api.creator.channel.home.adapter.`in`.web
|
||||||
|
|
||||||
import kr.co.vividnext.sodalive.common.ApiResponse
|
import kr.co.vividnext.sodalive.common.ApiResponse
|
||||||
import kr.co.vividnext.sodalive.common.SodaException
|
import kr.co.vividnext.sodalive.common.SodaException
|
||||||
import kr.co.vividnext.sodalive.member.Member
|
import kr.co.vividnext.sodalive.member.Member
|
||||||
import kr.co.vividnext.sodalive.v2.creator.channel.application.CreatorChannelHomeQueryService
|
import kr.co.vividnext.sodalive.v2.api.creator.channel.home.application.CreatorChannelHomeFacade
|
||||||
import kr.co.vividnext.sodalive.v2.creator.channel.dto.CreatorChannelHomeResponse
|
|
||||||
import org.springframework.security.core.annotation.AuthenticationPrincipal
|
import org.springframework.security.core.annotation.AuthenticationPrincipal
|
||||||
import org.springframework.web.bind.annotation.GetMapping
|
import org.springframework.web.bind.annotation.GetMapping
|
||||||
import org.springframework.web.bind.annotation.PathVariable
|
import org.springframework.web.bind.annotation.PathVariable
|
||||||
@@ -14,7 +13,7 @@ import org.springframework.web.bind.annotation.RestController
|
|||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/api/v2/creator-channels")
|
@RequestMapping("/api/v2/creator-channels")
|
||||||
class CreatorChannelHomeController(
|
class CreatorChannelHomeController(
|
||||||
private val creatorChannelHomeQueryService: CreatorChannelHomeQueryService
|
private val creatorChannelHomeFacade: CreatorChannelHomeFacade
|
||||||
) {
|
) {
|
||||||
@GetMapping("/{creatorId}/home")
|
@GetMapping("/{creatorId}/home")
|
||||||
fun getHome(
|
fun getHome(
|
||||||
@@ -22,11 +21,9 @@ class CreatorChannelHomeController(
|
|||||||
@AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member?
|
@AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member?
|
||||||
) = run {
|
) = run {
|
||||||
ApiResponse.ok(
|
ApiResponse.ok(
|
||||||
CreatorChannelHomeResponse.from(
|
creatorChannelHomeFacade.getHome(
|
||||||
creatorChannelHomeQueryService.getHome(
|
creatorId = creatorId,
|
||||||
creatorId = creatorId,
|
viewer = requireMember(member)
|
||||||
viewer = requireMember(member)
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package kr.co.vividnext.sodalive.v2.creator.channel.adapter.`in`.web
|
package kr.co.vividnext.sodalive.v2.api.creator.channel.home.adapter.`in`.web
|
||||||
|
|
||||||
import kr.co.vividnext.sodalive.common.CountryContext
|
import kr.co.vividnext.sodalive.common.CountryContext
|
||||||
import kr.co.vividnext.sodalive.i18n.LangContext
|
import kr.co.vividnext.sodalive.i18n.LangContext
|
||||||
@@ -6,8 +6,9 @@ import kr.co.vividnext.sodalive.i18n.SodaMessageSource
|
|||||||
import kr.co.vividnext.sodalive.member.Member
|
import kr.co.vividnext.sodalive.member.Member
|
||||||
import kr.co.vividnext.sodalive.member.MemberAdapter
|
import kr.co.vividnext.sodalive.member.MemberAdapter
|
||||||
import kr.co.vividnext.sodalive.member.MemberRole
|
import kr.co.vividnext.sodalive.member.MemberRole
|
||||||
|
import kr.co.vividnext.sodalive.v2.api.creator.channel.home.application.CreatorChannelHomeFacade
|
||||||
|
import kr.co.vividnext.sodalive.v2.api.creator.channel.home.dto.CreatorChannelHomeResponse
|
||||||
import kr.co.vividnext.sodalive.v2.common.domain.CreatorActivityType
|
import kr.co.vividnext.sodalive.v2.common.domain.CreatorActivityType
|
||||||
import kr.co.vividnext.sodalive.v2.creator.channel.application.CreatorChannelHomeQueryService
|
|
||||||
import kr.co.vividnext.sodalive.v2.creator.channel.domain.CreatorChannelActivity
|
import kr.co.vividnext.sodalive.v2.creator.channel.domain.CreatorChannelActivity
|
||||||
import kr.co.vividnext.sodalive.v2.creator.channel.domain.CreatorChannelAudioContent
|
import kr.co.vividnext.sodalive.v2.creator.channel.domain.CreatorChannelAudioContent
|
||||||
import kr.co.vividnext.sodalive.v2.creator.channel.domain.CreatorChannelCommunityPost
|
import kr.co.vividnext.sodalive.v2.creator.channel.domain.CreatorChannelCommunityPost
|
||||||
@@ -48,7 +49,7 @@ class CreatorChannelHomeControllerTest @Autowired constructor(
|
|||||||
private val mockMvc: MockMvc
|
private val mockMvc: MockMvc
|
||||||
) {
|
) {
|
||||||
@MockBean
|
@MockBean
|
||||||
private lateinit var service: CreatorChannelHomeQueryService
|
private lateinit var facade: CreatorChannelHomeFacade
|
||||||
|
|
||||||
@MockBean
|
@MockBean
|
||||||
private lateinit var countryContext: CountryContext
|
private lateinit var countryContext: CountryContext
|
||||||
@@ -87,10 +88,10 @@ class CreatorChannelHomeControllerTest @Autowired constructor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@DisplayName("크리에이터 채널 홈 조회는 인증 회원과 creatorId를 서비스에 전달하고 성공 응답을 반환한다")
|
@DisplayName("크리에이터 채널 홈 조회는 인증 회원과 creatorId를 facade에 전달하고 성공 응답을 반환한다")
|
||||||
fun shouldReturnCreatorChannelHomeForAuthenticatedMember() {
|
fun shouldReturnCreatorChannelHomeForAuthenticatedMember() {
|
||||||
val viewer = createMember(id = 10L)
|
val viewer = createMember(id = 10L)
|
||||||
Mockito.doReturn(createHome()).`when`(service).getHome(
|
Mockito.doReturn(CreatorChannelHomeResponse.from(createHome())).`when`(facade).getHome(
|
||||||
Mockito.eq(1L),
|
Mockito.eq(1L),
|
||||||
Mockito.any(Member::class.java) ?: viewer,
|
Mockito.any(Member::class.java) ?: viewer,
|
||||||
Mockito.any(LocalDateTime::class.java) ?: LocalDateTime.now()
|
Mockito.any(LocalDateTime::class.java) ?: LocalDateTime.now()
|
||||||
@@ -134,7 +135,7 @@ class CreatorChannelHomeControllerTest @Autowired constructor(
|
|||||||
.andExpect(jsonPath("$.data.series[0].isNew").value(true))
|
.andExpect(jsonPath("$.data.series[0].isNew").value(true))
|
||||||
.andExpect(jsonPath("$.data.series[0].isOriginal").value(true))
|
.andExpect(jsonPath("$.data.series[0].isOriginal").value(true))
|
||||||
|
|
||||||
Mockito.verify(service).getHome(
|
Mockito.verify(facade).getHome(
|
||||||
Mockito.eq(1L),
|
Mockito.eq(1L),
|
||||||
Mockito.eq(viewer) ?: viewer,
|
Mockito.eq(viewer) ?: viewer,
|
||||||
Mockito.any(LocalDateTime::class.java) ?: LocalDateTime.now()
|
Mockito.any(LocalDateTime::class.java) ?: LocalDateTime.now()
|
||||||
Reference in New Issue
Block a user