Skip to content

Commit 921e210

Browse files
committed
test: LocalDateTimeFixture 으로 변경
1 parent de47b58 commit 921e210

File tree

6 files changed

+46
-29
lines changed

6 files changed

+46
-29
lines changed

src/main/java/com/somemore/recruitboard/domain/VolunteerInfo.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.somemore.recruitboard.domain;
22

33
import static jakarta.persistence.EnumType.STRING;
4+
import static java.time.temporal.ChronoUnit.MINUTES;
45
import static lombok.AccessLevel.PROTECTED;
56

67
import jakarta.persistence.Column;
@@ -46,8 +47,8 @@ public VolunteerInfo(String region, Integer recruitmentCount,
4647

4748
this.region = region;
4849
this.recruitmentCount = recruitmentCount;
49-
this.volunteerStartDateTime = volunteerStartDateTime;
50-
this.volunteerEndDateTime = volunteerEndDateTime;
50+
this.volunteerStartDateTime = volunteerStartDateTime.truncatedTo(MINUTES);
51+
this.volunteerEndDateTime = volunteerEndDateTime.truncatedTo(MINUTES);
5152
this.volunteerType = volunteerType;
5253
this.admitted = admitted;
5354
}
@@ -69,8 +70,8 @@ public void updateWith(Integer recruitmentCount, VolunteerType volunteerType,
6970

7071
this.recruitmentCount = recruitmentCount;
7172
this.volunteerType = volunteerType;
72-
this.volunteerStartDateTime = volunteerStartDateTime;
73-
this.volunteerEndDateTime = volunteerEndDateTime;
73+
this.volunteerStartDateTime = volunteerStartDateTime.truncatedTo(MINUTES);
74+
this.volunteerEndDateTime = volunteerEndDateTime.truncatedTo(MINUTES);
7475
this.admitted = admitted;
7576
}
7677

src/test/java/com/somemore/recruitboard/domain/RecruitBoardTest.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.somemore.recruitboard.domain;
22

3+
import static com.somemore.common.fixture.LocalDateTimeFixture.createStartDateTime;
4+
import static com.somemore.common.fixture.LocalDateTimeFixture.createUpdateStartDateTime;
35
import static com.somemore.recruitboard.domain.RecruitStatus.RECRUITING;
46
import static com.somemore.recruitboard.domain.VolunteerType.OTHER;
57
import static org.assertj.core.api.Assertions.assertThat;
@@ -34,7 +36,7 @@ void testCalculateVolunteerTime() {
3436
// given
3537
int hours = 3;
3638
UUID centerId = UUID.randomUUID();
37-
LocalDateTime startDateTime = LocalDateTime.now();
39+
LocalDateTime startDateTime = createStartDateTime();
3840
LocalDateTime endDateTime = startDateTime.plusHours(hours);
3941

4042
RecruitBoard board = createRecruitBoard(centerId, startDateTime, endDateTime);
@@ -53,13 +55,15 @@ void updateRecruitBoard() {
5355
UUID centerId = UUID.randomUUID();
5456
RecruitBoard board = createRecruitBoard(centerId);
5557
String imgUrl = "https://image.domain.com/updates";
58+
LocalDateTime startDateTime = createUpdateStartDateTime();
59+
LocalDateTime endDateTime = startDateTime.plusHours(2);
5660

5761
RecruitBoardUpdateRequestDto dto = RecruitBoardUpdateRequestDto.builder()
5862
.title("봉사 모집글 작성 수정")
5963
.content("봉사 하실분을 모집합니다. 수정 <br>")
6064
.recruitmentCount(10)
61-
.volunteerStartDateTime(LocalDateTime.now())
62-
.volunteerEndDateTime(LocalDateTime.now().plusHours(2))
65+
.volunteerStartDateTime(startDateTime)
66+
.volunteerEndDateTime(endDateTime)
6367
.volunteerType(OTHER)
6468
.admitted(true).build();
6569

@@ -118,7 +122,7 @@ void isNotWriterWithWrongCenterId() {
118122

119123

120124
private static RecruitBoard createRecruitBoard(UUID centerId) {
121-
LocalDateTime startDateTime = LocalDateTime.now();
125+
LocalDateTime startDateTime = createStartDateTime();
122126
LocalDateTime endDateTime = startDateTime.plusHours(1);
123127

124128
return createRecruitBoard(centerId, startDateTime, endDateTime);

src/test/java/com/somemore/recruitboard/domain/VolunteerInfoTest.java

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.somemore.recruitboard.domain;
22

3+
import static com.somemore.common.fixture.LocalDateTimeFixture.createStartDateTime;
4+
import static com.somemore.common.fixture.LocalDateTimeFixture.createUpdateStartDateTime;
35
import static com.somemore.recruitboard.domain.VolunteerType.ADMINISTRATIVE_SUPPORT;
46
import static com.somemore.recruitboard.domain.VolunteerType.SAFETY_PREVENTION;
57
import static org.assertj.core.api.Assertions.assertThat;
@@ -17,10 +19,10 @@ class VolunteerInfoTest {
1719
@DisplayName("봉사 종료 시간이 시작 시간과 같거나 빠르면, 봉사 모집글 생성 시 에러가 발생한다")
1820
@ParameterizedTest
1921
@ValueSource(longs = {0, -1})
20-
void createRecruitBoardWithInValidVolunteerTime(long secondsOffset) {
22+
void createRecruitBoardWithInValidVolunteerTime(long minutesOffset) {
2123
// given
22-
LocalDateTime now = LocalDateTime.now();
23-
LocalDateTime endDateTime = now.plusSeconds(secondsOffset);
24+
LocalDateTime now = createStartDateTime();
25+
LocalDateTime endDateTime = now.plusMinutes(minutesOffset);
2426

2527
// when & then
2628
assertThatThrownBy(
@@ -34,10 +36,11 @@ void createRecruitBoardWithInValidVolunteerTime(long secondsOffset) {
3436
void testCalculateVolunteerTime() {
3537
// given
3638
int hours = 3;
37-
LocalDateTime startDateTime = LocalDateTime.now();
39+
LocalDateTime startDateTime = createStartDateTime();
3840
LocalDateTime endDateTime = startDateTime.plusHours(hours);
3941

4042
VolunteerInfo volunteerInfo = createVolunteerInfo(startDateTime, endDateTime);
43+
4144
// when
4245
LocalTime volunteerTime = volunteerInfo.calculateVolunteerTime();
4346

@@ -53,7 +56,7 @@ void updateVolunteerInfo() {
5356

5457
Integer count = 2;
5558
VolunteerType volunteerType = SAFETY_PREVENTION;
56-
LocalDateTime startDateTime = LocalDateTime.now();
59+
LocalDateTime startDateTime = createUpdateStartDateTime();
5760
LocalDateTime endDateTime = startDateTime.plusHours(2);
5861
Boolean admitted = false;
5962

@@ -86,10 +89,10 @@ void updateVolunteerInfoWithRegion() {
8689
@DisplayName("봉사 종료 시간이 시작 시간과 같거나 빠르면, 봉사 모집글을 업데이트시 에러가 발생한다")
8790
@ParameterizedTest
8891
@ValueSource(longs = {0, -1})
89-
void updateRecruitBoardWithInValidVolunteerTime(long secondsOffset) {
92+
void updateRecruitBoardWithInValidVolunteerTime(long minutesOffset) {
9093
// given
91-
LocalDateTime startDateTime = LocalDateTime.now();
92-
LocalDateTime endDateTime = startDateTime.plusSeconds(secondsOffset);
94+
LocalDateTime startDateTime = createStartDateTime();
95+
LocalDateTime endDateTime = startDateTime.plusMinutes(minutesOffset);
9396

9497
VolunteerInfo volunteerInfo = createVolunteerInfo();
9598

@@ -114,7 +117,9 @@ private static VolunteerInfo createVolunteerInfo(LocalDateTime startDateTime,
114117
}
115118

116119
private static VolunteerInfo createVolunteerInfo() {
117-
return createVolunteerInfo(LocalDateTime.now(), LocalDateTime.now().plusHours(1));
120+
LocalDateTime startDateTime = createStartDateTime();
121+
LocalDateTime endDateTime = startDateTime.plusHours(1);
122+
return createVolunteerInfo(startDateTime, endDateTime);
118123
}
119124

120125
}

src/test/java/com/somemore/recruitboard/service/command/CreateRecruitBoardServiceTest.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.somemore.recruitboard.service.command;
22

3+
import static com.somemore.common.fixture.LocalDateTimeFixture.createStartDateTime;
34
import static org.assertj.core.api.Assertions.assertThat;
45

56
import com.somemore.IntegrationTestSupport;
@@ -45,13 +46,16 @@ void createRecruitBoardWithDto() {
4546
.longitude(BigDecimal.valueOf(127.010842267696))
4647
.build();
4748

49+
LocalDateTime startDateTime = createStartDateTime();
50+
LocalDateTime endDateTime = startDateTime.plusHours(2);
51+
4852
RecruitBoardCreateRequestDto dto = RecruitBoardCreateRequestDto.builder()
4953
.title("봉사 모집글 작성")
5054
.content("봉사 하실분을 모집합니다. <br>")
5155
.region("지역")
5256
.recruitmentCount(10)
53-
.volunteerStartDateTime(LocalDateTime.now())
54-
.volunteerEndDateTime(LocalDateTime.now().plusHours(2))
57+
.volunteerStartDateTime(startDateTime)
58+
.volunteerEndDateTime(endDateTime)
5559
.volunteerType(VolunteerType.OTHER)
5660
.admitted(true)
5761
.location(locationDto)

src/test/java/com/somemore/recruitboard/service/command/UpdateRecruitBoardServiceTest.java

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
package com.somemore.recruitboard.service.command;
22

3+
import static com.somemore.common.fixture.LocalDateTimeFixture.createStartDateTime;
4+
import static com.somemore.common.fixture.LocalDateTimeFixture.createUpdateStartDateTime;
35
import static com.somemore.recruitboard.domain.VolunteerType.ADMINISTRATIVE_SUPPORT;
46
import static com.somemore.recruitboard.domain.VolunteerType.OTHER;
5-
import static java.time.temporal.ChronoUnit.MILLIS;
7+
import static java.time.temporal.ChronoUnit.MINUTES;
68
import static org.assertj.core.api.Assertions.assertThat;
79

810
import com.somemore.IntegrationTestSupport;
@@ -60,7 +62,7 @@ void tearDown() {
6062
@Test
6163
void updateRecruitBoard() {
6264
// given
63-
LocalDateTime newStartDateTime = LocalDateTime.now();
65+
LocalDateTime newStartDateTime = createUpdateStartDateTime();
6466
LocalDateTime newEndDateTime = newStartDateTime.plusHours(3);
6567
String newImgUrl = "https://image.domain.com/updates";
6668
RecruitBoardUpdateRequestDto dto = RecruitBoardUpdateRequestDto.builder()
@@ -90,11 +92,11 @@ void updateRecruitBoard() {
9092
assertThat(volunteerInfo.getVolunteerType()).isEqualTo(dto.volunteerType());
9193
assertThat(volunteerInfo.getAdmitted()).isEqualTo(dto.admitted());
9294

93-
assertThat(volunteerInfo.getVolunteerStartDateTime().truncatedTo(MILLIS)
94-
.compareTo(dto.volunteerStartDateTime().truncatedTo(MILLIS)))
95+
assertThat(volunteerInfo.getVolunteerStartDateTime().truncatedTo(MINUTES)
96+
.compareTo(dto.volunteerStartDateTime().truncatedTo(MINUTES)))
9597
.isZero();
96-
assertThat(volunteerInfo.getVolunteerEndDateTime().truncatedTo(MILLIS)
97-
.compareTo(dto.volunteerEndDateTime().truncatedTo(MILLIS)))
98+
assertThat(volunteerInfo.getVolunteerEndDateTime().truncatedTo(MINUTES)
99+
.compareTo(dto.volunteerEndDateTime().truncatedTo(MINUTES)))
98100
.isZero();
99101
}
100102

@@ -129,7 +131,7 @@ void updateRecruitBoardLocation() {
129131
void updateRecruitBoardWhenCenterIdIsWrong() {
130132
// given
131133
UUID wrongCenterId = UUID.randomUUID();
132-
LocalDateTime newStartDateTime = LocalDateTime.now();
134+
LocalDateTime newStartDateTime = createUpdateStartDateTime();
133135
LocalDateTime newEndDateTime = newStartDateTime.plusHours(3);
134136
String newImgUrl = "https://image.domain.com/updates";
135137
RecruitBoardUpdateRequestDto dto = RecruitBoardUpdateRequestDto.builder()
@@ -152,9 +154,8 @@ void updateRecruitBoardWhenCenterIdIsWrong() {
152154

153155
}
154156

155-
156157
private static RecruitBoard createRecruitBoard(UUID centerId, Long locationId) {
157-
LocalDateTime startDateTime = LocalDateTime.now();
158+
LocalDateTime startDateTime = createStartDateTime();
158159
LocalDateTime endDateTime = startDateTime.plusHours(1);
159160

160161
return createRecruitBoard(centerId, locationId, startDateTime, endDateTime);

src/test/java/com/somemore/recruitboard/service/query/RecruitQueryServiceTest.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
package com.somemore.recruitboard.service.query;
22

3+
import static com.somemore.common.fixture.LocalDateTimeFixture.createStartDateTime;
34
import static com.somemore.recruitboard.domain.VolunteerType.OTHER;
45
import static org.assertj.core.api.Assertions.assertThat;
56
import static org.assertj.core.api.Assertions.assertThatThrownBy;
67

78
import com.somemore.IntegrationTestSupport;
9+
import com.somemore.common.fixture.LocalDateTimeFixture;
810
import com.somemore.global.exception.BadRequestException;
911
import com.somemore.recruitboard.domain.RecruitBoard;
1012
import com.somemore.recruitboard.domain.VolunteerInfo;
@@ -94,7 +96,7 @@ void findByIdOrThrowWithDoesNotExistId() {
9496

9597
private static RecruitBoard createRecruitBoard() {
9698

97-
LocalDateTime startDateTime = LocalDateTime.now();
99+
LocalDateTime startDateTime = createStartDateTime();
98100
LocalDateTime endDateTime = startDateTime.plusHours(1);
99101

100102
VolunteerInfo volunteerInfo = VolunteerInfo.builder()

0 commit comments

Comments
 (0)