From 6165d173cea2fb9189b69fb0c295aa9ea2bba258 Mon Sep 17 00:00:00 2001 From: pricelees Date: Fri, 18 Jul 2025 01:31:00 +0900 Subject: [PATCH] =?UTF-8?q?refactor:=20=ED=85=8C=EC=8A=A4=ED=8A=B8?= =?UTF-8?q?=EA=B0=84=20=EA=B2=A9=EB=A6=AC=EB=A5=BC=20=EC=9C=84=ED=95=9C=20?= =?UTF-8?q?=EB=8D=B0=EC=9D=B4=ED=84=B0=EB=B2=A0=EC=9D=B4=EC=8A=A4=20?= =?UTF-8?q?=EB=A1=9C=EC=A7=81=20beforeSpec=20->=20beforeTest=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../persistence/ThemeRepositoryTest.kt | 36 ++++++++----------- 1 file changed, 14 insertions(+), 22 deletions(-) diff --git a/src/test/java/roomescape/theme/infrastructure/persistence/ThemeRepositoryTest.kt b/src/test/java/roomescape/theme/infrastructure/persistence/ThemeRepositoryTest.kt index 6780ecd0..73df4b11 100644 --- a/src/test/java/roomescape/theme/infrastructure/persistence/ThemeRepositoryTest.kt +++ b/src/test/java/roomescape/theme/infrastructure/persistence/ThemeRepositoryTest.kt @@ -5,24 +5,18 @@ import io.kotest.matchers.collections.shouldContainInOrder import io.kotest.matchers.shouldBe import jakarta.persistence.EntityManager import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest -import org.springframework.transaction.support.TransactionTemplate import roomescape.theme.util.TestThemeCreateUtil import java.time.LocalDate @DataJpaTest class ThemeRepositoryTest( val themeRepository: ThemeRepository, - val transactionTemplate: TransactionTemplate, val entityManager: EntityManager ) : FunSpec() { init { - beforeSpec { - /** - * 테마 10개를 생성한다. - * 이름: "테마N", 예약 수: N, 날짜: 오늘 기준으로 N일 전 - */ - transactionTemplate.executeWithoutResult { + context("findTopNThemeBetweenStartDateAndEndDate") { + beforeTest { for (i in 1..10) { TestThemeCreateUtil.createThemeWithReservations( entityManager = entityManager, @@ -32,9 +26,7 @@ class ThemeRepositoryTest( ) } } - } - context("findTopNThemeBetweenStartDateAndEndDate") { test("지난 10일간 예약 수가 가장 많은 테마 5개를 조회한다.") { themeRepository.findTopNThemeBetweenStartDateAndEndDate( LocalDate.now().minusDays(10), @@ -115,10 +107,10 @@ class ThemeRepositoryTest( val themeName = "test-theme" beforeTest { TestThemeCreateUtil.createThemeWithReservations( - entityManager = entityManager, - name = themeName, - reservedCount = 0, - date = LocalDate.now() + entityManager = entityManager, + name = themeName, + reservedCount = 0, + date = LocalDate.now() ) } test("테마 이름이 존재하면 true를 반환한다.") { @@ -133,20 +125,20 @@ class ThemeRepositoryTest( context("isReservedTheme") { test("테마가 예약 중이면 true를 반환한다.") { val theme = TestThemeCreateUtil.createThemeWithReservations( - entityManager = entityManager, - name = "예약된 테마", - reservedCount = 1, - date = LocalDate.now() + entityManager = entityManager, + name = "예약된 테마", + reservedCount = 1, + date = LocalDate.now() ) themeRepository.isReservedTheme(theme.id!!) shouldBe true } test("테마가 예약 중이 아니면 false를 반환한다.") { val theme = TestThemeCreateUtil.createThemeWithReservations( - entityManager = entityManager, - name = "예약되지 않은 테마", - reservedCount = 0, - date = LocalDate.now() + entityManager = entityManager, + name = "예약되지 않은 테마", + reservedCount = 0, + date = LocalDate.now() ) themeRepository.isReservedTheme(theme.id!!) shouldBe false }