Skip to content

Commit 313056b

Browse files
committed
test(volunteer-apply): 특정 모집글 봉사자 지원 단건 조회 테스트
- 지원 내역이 없는 경우 210 반환
1 parent 4be34dc commit 313056b

File tree

1 file changed

+34
-10
lines changed

1 file changed

+34
-10
lines changed

src/test/java/com/somemore/domains/volunteerapply/controller/VolunteerApplyQueryApiControllerTest.java

Lines changed: 34 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,33 @@
11
package com.somemore.domains.volunteerapply.controller;
22

3-
import static com.somemore.domains.volunteerapply.domain.ApplyStatus.WAITING;
4-
import static org.mockito.ArgumentMatchers.any;
5-
import static org.mockito.BDDMockito.given;
6-
import static org.springframework.http.MediaType.APPLICATION_JSON;
7-
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
8-
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
9-
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
10-
113
import com.somemore.domains.volunteerapply.dto.condition.VolunteerApplySearchCondition;
124
import com.somemore.domains.volunteerapply.dto.response.VolunteerApplyRecruitInfoResponseDto;
135
import com.somemore.domains.volunteerapply.dto.response.VolunteerApplyResponseDto;
146
import com.somemore.domains.volunteerapply.dto.response.VolunteerApplySummaryResponseDto;
157
import com.somemore.domains.volunteerapply.dto.response.VolunteerApplyVolunteerInfoResponseDto;
168
import com.somemore.domains.volunteerapply.usecase.VolunteerApplyQueryFacadeUseCase;
179
import com.somemore.domains.volunteerapply.usecase.VolunteerApplyQueryUseCase;
10+
import com.somemore.global.exception.NoSuchElementException;
1811
import com.somemore.support.ControllerTestSupport;
1912
import com.somemore.support.annotation.WithMockCustomUser;
20-
import java.util.Collections;
21-
import java.util.UUID;
2213
import org.junit.jupiter.api.DisplayName;
2314
import org.junit.jupiter.api.Test;
2415
import org.springframework.boot.test.mock.mockito.MockBean;
2516
import org.springframework.data.domain.Page;
2617
import org.springframework.data.domain.PageImpl;
2718

19+
import java.util.Collections;
20+
import java.util.UUID;
21+
22+
import static com.somemore.domains.volunteerapply.domain.ApplyStatus.WAITING;
23+
import static com.somemore.global.exception.ExceptionMessage.NOT_EXISTS_VOLUNTEER_APPLY;
24+
import static org.mockito.ArgumentMatchers.any;
25+
import static org.mockito.BDDMockito.given;
26+
import static org.springframework.http.MediaType.APPLICATION_JSON;
27+
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
28+
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
29+
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
30+
2831
class VolunteerApplyQueryApiControllerTest extends ControllerTestSupport {
2932

3033
@MockBean
@@ -68,6 +71,27 @@ void getVolunteerApplyByRecruitIdAndVolunteerId() throws Exception {
6871
.andExpect(jsonPath("$.data.attended").value(false));
6972
}
7073

74+
@DisplayName("특정 모집글 봉사자 지원 단건 조회 성공 테스트 - 지원 내역이 없는 경우")
75+
@Test
76+
void getVolunteerApplyByRecruitIdAndVolunteerIdWhenDoesNotExist() throws Exception {
77+
// given
78+
Long recruitBoardId = 1L;
79+
UUID volunteerId = UUID.randomUUID();
80+
81+
given(volunteerApplyQueryUseCase.getVolunteerApplyByRecruitIdAndVolunteerId(recruitBoardId,
82+
volunteerId))
83+
.willThrow(new NoSuchElementException(NOT_EXISTS_VOLUNTEER_APPLY));
84+
85+
// when & then
86+
mockMvc.perform(
87+
get("/api/volunteer-apply/recruit-board/{recruitBoardId}/volunteer/{volunteerId}",
88+
recruitBoardId, volunteerId)
89+
.accept(APPLICATION_JSON))
90+
.andExpect(status().isOk())
91+
.andExpect(jsonPath("$.code").value(210))
92+
.andExpect(jsonPath("$.message").value("지원 내역이 없습니다."));
93+
}
94+
7195
@DisplayName("모집글 지원자 통계 조회 성공 테스트")
7296
@Test
7397
void getSummaryByRecruitBoardId() throws Exception {

0 commit comments

Comments
 (0)