[#52] 만료 예약 / 일정 스케쥴링 작업 추가 및 동시성 처리를 위한 일부 코드 수정 #53

Merged
pricelees merged 18 commits from refactor/#52 into main 2025-10-04 08:40:37 +00:00
Showing only changes of commit 86a2459d8b - Show all commits

View File

@ -95,7 +95,7 @@ class AdminScheduleApiTest(
}, },
expect = { expect = {
statusCode(HttpStatus.OK.value()) statusCode(HttpStatus.OK.value())
body("data.schedules.size()", equalTo(schedules.filter { it.date == LocalDate.now() }.size)) body("data.schedules.size()", equalTo(schedules.filter { it.date.isEqual(LocalDate.now()) }.size))
assertProperties( assertProperties(
props = setOf("id", "themeName", "startFrom", "endAt", "status"), props = setOf("id", "themeName", "startFrom", "endAt", "status"),
propsNameIfList = "schedules" propsNameIfList = "schedules"
@ -114,7 +114,7 @@ class AdminScheduleApiTest(
}, },
expect = { expect = {
statusCode(HttpStatus.OK.value()) statusCode(HttpStatus.OK.value())
body("data.schedules.size()", equalTo(schedules.filter { it.date == date }.size)) body("data.schedules.size()", equalTo(schedules.filter { it.date.isEqual(date) }.size))
assertProperties( assertProperties(
props = setOf("id", "themeName", "startFrom", "endAt", "status"), props = setOf("id", "themeName", "startFrom", "endAt", "status"),
propsNameIfList = "schedules" propsNameIfList = "schedules"
@ -153,7 +153,7 @@ class AdminScheduleApiTest(
statusCode(HttpStatus.OK.value()) statusCode(HttpStatus.OK.value())
body( body(
"data.schedules.size()", "data.schedules.size()",
equalTo(schedules.filter { it.date == date && it.themeId == themeId }.size) equalTo(schedules.filter { it.date.isEqual(date) && it.themeId == themeId }.size)
) )
assertProperties( assertProperties(
props = setOf("id", "themeName", "startFrom", "endAt", "status"), props = setOf("id", "themeName", "startFrom", "endAt", "status"),
@ -390,7 +390,7 @@ class AdminScheduleApiTest(
val time = LocalTime.now().minusMinutes(1) val time = LocalTime.now().minusMinutes(1)
val theme = dummyInitializer.createTheme() val theme = dummyInitializer.createTheme()
val request = ScheduleFixture.createRequest.copy(date, time, theme.id) val request = ScheduleFixture.createRequest.copy(date = date, time = time, themeId = theme.id)
runExceptionTest( runExceptionTest(
token = token, token = token,
@ -412,18 +412,18 @@ class AdminScheduleApiTest(
dummyInitializer.createSchedule( dummyInitializer.createSchedule(
storeId = admin.storeId!!, storeId = admin.storeId!!,
request = ScheduleFixture.createRequest.copy( request = ScheduleFixture.createRequest.copy(
tomorrow, date = tomorrow,
LocalTime.of(14, 0), time = LocalTime.of(14, 0),
theme.id themeId = theme.id
) )
) )
} }
val request = initialize("내일 14:30에 시작하는 요청 객체") { val request = initialize("내일 14:30에 시작하는 요청 객체") {
ScheduleFixture.createRequest.copy( ScheduleFixture.createRequest.copy(
tomorrow, date = tomorrow,
LocalTime.of(14, 30), time = LocalTime.of(14, 30),
theme.id themeId = theme.id
) )
} }
@ -636,7 +636,7 @@ class AdminScheduleApiTest(
} }
} }
(ScheduleStatus.entries - listOf(ScheduleStatus.AVAILABLE, ScheduleStatus.BLOCKED)).forEach { (ScheduleStatus.entries - listOf(ScheduleStatus.AVAILABLE, ScheduleStatus.BLOCKED).toSet()).forEach {
test("상태가 ${it}인 일정은 삭제할 수 없다.") { test("상태가 ${it}인 일정은 삭제할 수 없다.") {
val (admin, token) = testAuthUtil.defaultStoreAdminLogin() val (admin, token) = testAuthUtil.defaultStoreAdminLogin()
val schedule = initialize("삭제를 위한 일정 생성") { val schedule = initialize("삭제를 위한 일정 생성") {