Skip to content

Commit

Permalink
Test | CAKK-94 | 코드 수정에 의한 테스트 코드 수정
Browse files Browse the repository at this point in the history
  • Loading branch information
YongsHub committed Oct 17, 2024
1 parent 94adfef commit 7f928f8
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 24 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ import com.cakk.api.common.fixture.FixtureCommon.fixtureMonkey
import com.cakk.api.dto.request.cake.CakeCreateRequest
import com.cakk.api.dto.request.cake.CakeUpdateRequest
import com.cakk.core.dto.response.cake.CakeDetailResponse
import com.cakk.core.dto.response.cake.CakeImageListResponse
import com.cakk.core.dto.response.cake.CakeImageWithShopInfoListResponse
import com.cakk.core.dto.response.like.HeartResponse
import com.cakk.common.enums.CakeDesignCategory
Expand Down Expand Up @@ -194,15 +193,19 @@ internal class CakeIntegrationTest(

// then
val response = objectMapper.convertValue(responseEntity.body, ApiResponse::class.java)
val data = objectMapper.convertValue(response.data, CakeImageListResponse::class.java)
val data = objectMapper.convertValue(response.data, CakeImageWithShopInfoListResponse::class.java)

responseEntity.statusCode shouldBe HttpStatusCode.valueOf(200)
response.returnCode shouldBe ReturnCode.SUCCESS.code
response.returnMessage shouldBe ReturnCode.SUCCESS.message

data.lastCakeId shouldBe data.cakeImages.minOfOrNull { it.cakeId }
data.size shouldBe 3
data.cakeImages.forEach { it.cakeShopId shouldBe 1 }
data.cakeImages.forEach {
it.cakeShopId shouldBe 1
it.shopName shouldBe "케이크 맛집" + it.cakeShopId
it.thumbnailUrl shouldBe "thumbnail_url" + it.cakeShopId
}
}

@TestWithDisplayName("케이크 샵으로 첫 페이지가 아닌 케이크 이미지 조회에 성공한다")
Expand All @@ -224,15 +227,19 @@ internal class CakeIntegrationTest(

// then
val response = objectMapper.convertValue(responseEntity.body, ApiResponse::class.java)
val data = objectMapper.convertValue(response.data, CakeImageListResponse::class.java)
val data = objectMapper.convertValue(response.data, CakeImageWithShopInfoListResponse::class.java)

responseEntity.statusCode shouldBe HttpStatusCode.valueOf(200)
response.returnCode shouldBe ReturnCode.SUCCESS.code
response.returnMessage shouldBe ReturnCode.SUCCESS.message

data.lastCakeId shouldBe data.cakeImages.minOfOrNull { it.cakeId }
data.size shouldBe 3
data.cakeImages.forEach { it.cakeShopId shouldBe 1 }
data.cakeImages.forEach {
it.cakeShopId shouldBe 1
it.shopName shouldBe "케이크 맛집" + it.cakeShopId
it.thumbnailUrl shouldBe "thumbnail_url" + it.cakeShopId
}
}

@TestWithDisplayName("케이크 샵으로 케이크 이미지 조회 시 데이터가 없으면 빈 배열을 반환한다")
Expand All @@ -254,7 +261,7 @@ internal class CakeIntegrationTest(

// then
val response = objectMapper.convertValue(responseEntity.body, ApiResponse::class.java)
val data = objectMapper.convertValue(response.data, CakeImageListResponse::class.java)
val data = objectMapper.convertValue(response.data, CakeImageWithShopInfoListResponse::class.java)

responseEntity.statusCode shouldBe HttpStatusCode.valueOf(200)
response.returnCode shouldBe ReturnCode.SUCCESS.code
Expand Down Expand Up @@ -284,7 +291,7 @@ internal class CakeIntegrationTest(

// then
val response = objectMapper.convertValue(responseEntity.body, ApiResponse::class.java)
val data = objectMapper.convertValue(response.data, CakeImageListResponse::class.java)
val data = objectMapper.convertValue(response.data, CakeImageWithShopInfoListResponse::class.java)

responseEntity.statusCode shouldBe HttpStatusCode.valueOf(200)
response.returnCode shouldBe ReturnCode.SUCCESS.code
Expand Down Expand Up @@ -312,7 +319,7 @@ internal class CakeIntegrationTest(

// then
val response = objectMapper.convertValue(responseEntity.body, ApiResponse::class.java)
val data = objectMapper.convertValue(response.data, CakeImageListResponse::class.java)
val data = objectMapper.convertValue(response.data, CakeImageWithShopInfoListResponse::class.java)

responseEntity.statusCode shouldBe HttpStatusCode.valueOf(200)
response.returnCode shouldBe ReturnCode.SUCCESS.code
Expand All @@ -339,7 +346,7 @@ internal class CakeIntegrationTest(

// then
val response = objectMapper.convertValue(responseEntity.body, ApiResponse::class.java)
val data = objectMapper.convertValue(response.data, CakeImageListResponse::class.java)
val data = objectMapper.convertValue(response.data, CakeImageWithShopInfoListResponse::class.java)

responseEntity.statusCode shouldBe HttpStatusCode.valueOf(200)
response.returnCode shouldBe ReturnCode.SUCCESS.code
Expand All @@ -366,13 +373,17 @@ internal class CakeIntegrationTest(

// then
val response = objectMapper.convertValue(responseEntity.body, ApiResponse::class.java)
val data = objectMapper.convertValue(response.data, CakeImageListResponse::class.java)
val data = objectMapper.convertValue(response.data, CakeImageWithShopInfoListResponse::class.java)

responseEntity.statusCode shouldBe HttpStatusCode.valueOf(200)
response.returnCode shouldBe ReturnCode.SUCCESS.code
response.returnMessage shouldBe ReturnCode.SUCCESS.message

data.cakeImages shouldHaveSize 4
data.cakeImages.forEach {
it.shopName shouldBe "케이크 맛집" + it.cakeShopId
it.thumbnailUrl shouldBe "thumbnail_url" + it.cakeShopId
}
}

@TestWithDisplayName("조회수로 케이크 이미지 조회에 성공한다")
Expand All @@ -395,13 +406,17 @@ internal class CakeIntegrationTest(

// then
val response = objectMapper.convertValue(responseEntity.body, ApiResponse::class.java)
val data = objectMapper.convertValue(response.data, CakeImageListResponse::class.java)
val data = objectMapper.convertValue(response.data, CakeImageWithShopInfoListResponse::class.java)

responseEntity.statusCode shouldBe HttpStatusCode.valueOf(200)
response.returnCode shouldBe ReturnCode.SUCCESS.code
response.returnMessage shouldBe ReturnCode.SUCCESS.message

data.cakeImages shouldHaveSize 4
data.cakeImages.forEach {
it.shopName shouldBe "케이크 맛집" + it.cakeShopId
it.thumbnailUrl shouldBe "thumbnail_url" + it.cakeShopId
}
}

@TestWithDisplayName("조회한 케이크가 없을 시, 인기 케이크 이미지 조회에 빈 배열을 리턴한다")
Expand All @@ -421,7 +436,7 @@ internal class CakeIntegrationTest(

// then
val response = objectMapper.convertValue(responseEntity.body, ApiResponse::class.java)
val data = objectMapper.convertValue(response.data, CakeImageListResponse::class.java)
val data = objectMapper.convertValue(response.data, CakeImageWithShopInfoListResponse::class.java)

responseEntity.statusCode shouldBe HttpStatusCode.valueOf(200)
response.returnCode shouldBe ReturnCode.SUCCESS.code
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ package com.cakk.core.service.cake
import io.kotest.matchers.shouldBe
import io.kotest.matchers.shouldNotBe

import net.jqwik.api.Arbitraries

import org.junit.jupiter.api.DisplayName
import org.mockito.InjectMocks
import org.mockito.Mock
Expand All @@ -15,7 +13,6 @@ import com.cakk.common.enums.CakeDesignCategory
import com.cakk.core.common.annotation.TestWithDisplayName
import com.cakk.core.common.base.MockitoTest
import com.cakk.core.common.fixture.FixtureCommon.fixtureMonkey
import com.cakk.core.common.fixture.FixtureCommon.getLongFixtureBw
import com.cakk.core.common.fixture.FixtureCommon.getLongFixtureGoe
import com.cakk.core.common.fixture.FixtureCommon.getStringFixtureBw
import com.cakk.core.dto.param.cake.CakeSearchByCategoryParam
Expand All @@ -25,7 +22,6 @@ import com.cakk.core.facade.cake.CakeManageFacade
import com.cakk.core.facade.cake.CakeReadFacade
import com.cakk.core.facade.cake.CakeShopReadFacade
import com.cakk.core.facade.tag.TagReadFacade
import com.cakk.domain.mysql.dto.param.cake.CakeImageResponseParam
import com.cakk.domain.mysql.dto.param.cake.CakeImageWithShopInfoResponseParam

@DisplayName("케이크 조회 관련 비즈니스 로직 테스트")
Expand Down Expand Up @@ -77,7 +73,7 @@ internal class CakeServiceTest : MockitoTest() {
fun findCakeImagesByCursorAndCategory2() {
// given
val dto = CakeSearchByCategoryParam(null, CakeDesignCategory.FLOWER, 3)
val cakeImages = fixtureMonkey.giveMe(CakeImageResponseParam::class.java, 0)
val cakeImages = fixtureMonkey.giveMe(CakeImageWithShopInfoResponseParam::class.java, 0)

doReturn(cakeImages).`when`(cakeReadFacade).searchCakeImagesByCursorAndCategory(dto.cakeId, dto.category, dto.pageSize)

Expand All @@ -95,10 +91,12 @@ internal class CakeServiceTest : MockitoTest() {
fun findCakeImagesByCursorAndShop1() {
// given
val dto = CakeSearchByShopParam(null, 1L, 3)
val cakeImages = fixtureMonkey.giveMeBuilder(CakeImageResponseParam::class.java)
.set("cakeId", 1L)
val cakeImages = fixtureMonkey.giveMeBuilder(CakeImageWithShopInfoResponseParam::class.java)
.set("cakeId", getLongFixtureGoe(1))
.set("cakeShopId", getLongFixtureGoe(1))
.set("cakeImageUrl", getStringFixtureBw(10, 20))
.set("thumbnailUrl", getStringFixtureBw(5, 10))
.set("shopName", getStringFixtureBw(5, 10))
.sampleList(3)

doReturn(cakeImages).`when`(cakeReadFacade).searchCakeImagesByCursorAndCakeShopId(dto.cakeId, dto.shopId, dto.pageSize)
Expand All @@ -117,7 +115,7 @@ internal class CakeServiceTest : MockitoTest() {
fun findCakeImagesByCursorAndShop2() {
// given
val dto = CakeSearchByShopParam(null, 1L, 3)
val cakeImages = fixtureMonkey.giveMe(CakeImageResponseParam::class.java, 0)
val cakeImages = fixtureMonkey.giveMe(CakeImageWithShopInfoResponseParam::class.java, 0)

doReturn(cakeImages).`when`(cakeReadFacade).searchCakeImagesByCursorAndCakeShopId(dto.cakeId, dto.shopId, dto.pageSize)

Expand All @@ -138,10 +136,12 @@ internal class CakeServiceTest : MockitoTest() {
val pageSize = 3
val dto = CakeSearchByViewsParam(cursor, pageSize)
val cakeIds = listOf(1L, 2L, 3L)
val cakeImages = fixtureMonkey.giveMeBuilder(CakeImageResponseParam::class.java)
.set("cakeId", getLongFixtureBw(1, 3))
.set("cakeShopId", Arbitraries.longs().greaterOrEqual(1))
.set("cakeImageUrl", Arbitraries.strings().alpha().ofMinLength(10).ofMaxLength(20))
val cakeImages = fixtureMonkey.giveMeBuilder(CakeImageWithShopInfoResponseParam::class.java)
.set("cakeId", getLongFixtureGoe(1))
.set("cakeShopId", getLongFixtureGoe(1))
.set("cakeImageUrl", getStringFixtureBw(10, 20))
.set("thumbnailUrl", getStringFixtureBw(5, 10))
.set("shopName", getStringFixtureBw(5, 10))
.sampleList(3)

doReturn(Pair(cakeIds, cakeImages)).`when`(cakeReadFacade).searchBestCakeImages(cursor, pageSize)
Expand Down

0 comments on commit 7f928f8

Please sign in to comment.