Skip to content

Commit 4f1a9a1

Browse files
committed
feat: 논리 삭제 테스트
1 parent 4601f0e commit 4f1a9a1

File tree

1 file changed

+76
-0
lines changed

1 file changed

+76
-0
lines changed
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
package com.somemore.recruitboard.repository;
2+
3+
import static com.somemore.common.fixture.LocalDateTimeFixture.createStartDateTime;
4+
import static com.somemore.recruitboard.domain.VolunteerType.OTHER;
5+
import static org.assertj.core.api.Assertions.assertThat;
6+
7+
import com.somemore.IntegrationTestSupport;
8+
import com.somemore.common.fixture.LocalDateTimeFixture;
9+
import com.somemore.recruitboard.domain.RecruitBoard;
10+
import com.somemore.recruitboard.domain.VolunteerInfo;
11+
import java.time.LocalDateTime;
12+
import java.util.Optional;
13+
import java.util.UUID;
14+
import org.junit.jupiter.api.AfterEach;
15+
import org.junit.jupiter.api.BeforeEach;
16+
import org.junit.jupiter.api.DisplayName;
17+
import org.junit.jupiter.api.Test;
18+
import org.springframework.beans.factory.annotation.Autowired;
19+
20+
class RecruitBoardRepositoryImplTest extends IntegrationTestSupport {
21+
22+
@Autowired
23+
private RecruitBoardRepositoryImpl recruitBoardRepository;
24+
25+
private RecruitBoard recruitBoard;
26+
@BeforeEach
27+
void setUp() {
28+
recruitBoard = createRecruitBoard();
29+
recruitBoardRepository.saveAndFlush(recruitBoard);
30+
recruitBoard.markAsDeleted();
31+
recruitBoardRepository.saveAndFlush(recruitBoard);
32+
}
33+
34+
@AfterEach
35+
void tearDown() {
36+
recruitBoardRepository.deleteAllInBatch();
37+
}
38+
39+
@DisplayName("논리 삭제된 데이터를 id로 조회시 빈 Optional 반환된다")
40+
@Test
41+
void findById() {
42+
// given
43+
Long deletedId = recruitBoard.getId();
44+
45+
// when
46+
Optional<RecruitBoard> findBoard = recruitBoardRepository.findById(deletedId);
47+
48+
// then
49+
assertThat(findBoard).isEmpty();
50+
}
51+
52+
private static RecruitBoard createRecruitBoard() {
53+
54+
LocalDateTime startDateTime = createStartDateTime();
55+
LocalDateTime endDateTime = startDateTime.plusHours(1);
56+
57+
VolunteerInfo volunteerInfo = VolunteerInfo.builder()
58+
.region("경기")
59+
.recruitmentCount(1)
60+
.volunteerStartDateTime(startDateTime)
61+
.volunteerEndDateTime(endDateTime)
62+
.volunteerType(OTHER)
63+
.admitted(true)
64+
.build();
65+
66+
return RecruitBoard.builder()
67+
.centerId(UUID.randomUUID())
68+
.locationId(1L)
69+
.title("봉사모집제목")
70+
.content("봉사모집내용")
71+
.imgUrl("https://image.domain.com/links")
72+
.volunteerInfo(volunteerInfo)
73+
.build();
74+
}
75+
76+
}

0 commit comments

Comments
 (0)