Skip to content

Commit a54e9d1

Browse files
committed
test(community): imgUrl 삭제 및 NewVolunteer로 변경으로 인한 test 수정
1 parent 67206e2 commit a54e9d1

13 files changed

+52
-132
lines changed

src/test/java/com/somemore/domains/community/controller/CommunityBoardCommandApiControllerTest.java

Lines changed: 18 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
package com.somemore.domains.community.controller;
22

33
import static org.mockito.ArgumentMatchers.any;
4-
import static org.mockito.ArgumentMatchers.anyString;
54
import static org.mockito.BDDMockito.given;
65
import static org.mockito.BDDMockito.willDoNothing;
7-
import static org.springframework.http.MediaType.MULTIPART_FORM_DATA;
8-
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete;
9-
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.multipart;
6+
import static org.springframework.http.MediaType.APPLICATION_JSON;
7+
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
108
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
119
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
1210

@@ -15,18 +13,12 @@
1513
import com.somemore.domains.community.usecase.board.CreateCommunityBoardUseCase;
1614
import com.somemore.domains.community.usecase.board.DeleteCommunityBoardUseCase;
1715
import com.somemore.domains.community.usecase.board.UpdateCommunityBoardUseCase;
18-
import com.somemore.global.imageupload.usecase.ImageUploadUseCase;
1916
import com.somemore.support.ControllerTestSupport;
20-
import com.somemore.support.annotation.WithMockCustomUser;
17+
import com.somemore.support.annotation.MockUser;
2118
import java.util.UUID;
2219
import org.junit.jupiter.api.DisplayName;
2320
import org.junit.jupiter.api.Test;
2421
import org.springframework.boot.test.mock.mockito.MockBean;
25-
import org.springframework.http.MediaType;
26-
import org.springframework.mock.web.MockHttpServletRequest;
27-
import org.springframework.mock.web.MockMultipartFile;
28-
import org.springframework.test.web.servlet.request.MockMultipartHttpServletRequestBuilder;
29-
import org.springframework.test.web.servlet.request.RequestPostProcessor;
3022

3123
public class CommunityBoardCommandApiControllerTest extends ControllerTestSupport {
3224

@@ -39,45 +31,26 @@ public class CommunityBoardCommandApiControllerTest extends ControllerTestSuppor
3931
@MockBean
4032
private DeleteCommunityBoardUseCase deleteCommunityBoardUseCase;
4133

42-
@MockBean
43-
private ImageUploadUseCase imageUploadUseCase;
44-
4534
@Test
4635
@DisplayName("커뮤니티 게시글 등록 성공 테스트")
47-
@WithMockCustomUser
36+
@MockUser
4837
void createCommunityBoard_success() throws Exception {
4938
//given
50-
CommunityBoardCreateRequestDto dto = CommunityBoardCreateRequestDto.builder()
39+
CommunityBoardCreateRequestDto requestDto = CommunityBoardCreateRequestDto.builder()
5140
.title("11/29 OO도서관 봉사 같이 갈 사람 모집합니다.")
5241
.content("저 포함 5명이 같이 가면 좋을 거 같아요.")
5342
.build();
5443

55-
MockMultipartFile imageFile = new MockMultipartFile(
56-
"img_file",
57-
"test-image.jpg",
58-
MediaType.IMAGE_JPEG_VALUE,
59-
"test image content".getBytes()
60-
);
61-
62-
MockMultipartFile requestData = new MockMultipartFile(
63-
"data",
64-
"",
65-
MediaType.APPLICATION_JSON_VALUE,
66-
objectMapper.writeValueAsBytes(dto)
67-
);
68-
69-
String mockImageUrl = "http://example.com/image/test-image.jpg";
44+
String requestBody = objectMapper.writeValueAsString(requestDto);
7045
long communityBoardId = 1L;
7146

72-
given(imageUploadUseCase.uploadImage(any())).willReturn(mockImageUrl);
73-
given(createCommunityBoardUseCase.createCommunityBoard(any(), any(UUID.class),
74-
anyString())).willReturn(communityBoardId);
47+
given(createCommunityBoardUseCase.createCommunityBoard(any(), any(UUID.class)))
48+
.willReturn(communityBoardId);
7549

7650
//when
77-
mockMvc.perform(multipart("/api/community-board")
78-
.file(requestData)
79-
.file(imageFile)
80-
.contentType(MULTIPART_FORM_DATA)
51+
mockMvc.perform(post("/api/community-board")
52+
.content(requestBody)
53+
.contentType(APPLICATION_JSON)
8154
.header("Authorization", "Bearer access-token"))
8255
//then
8356
.andExpect(status().isOk())
@@ -88,48 +61,23 @@ void createCommunityBoard_success() throws Exception {
8861

8962
@Test
9063
@DisplayName("커뮤니티 게시글 수정 성공 테스트")
91-
@WithMockCustomUser
64+
@MockUser
9265
void updateCommunityBoard_success() throws Exception {
9366
//given
9467
CommunityBoardUpdateRequestDto requestDto = CommunityBoardUpdateRequestDto.builder()
9568
.title("XX아동센터 추천합니다.")
9669
.content("지난 주 토요일에 방문했는데 강추드려요.")
9770
.build();
9871

99-
MockMultipartFile imageFile = new MockMultipartFile(
100-
"img_file",
101-
"test-image.jpg",
102-
MediaType.IMAGE_JPEG_VALUE,
103-
"test image content".getBytes()
104-
);
105-
106-
MockMultipartFile requestData = new MockMultipartFile(
107-
"data",
108-
"",
109-
MediaType.APPLICATION_JSON_VALUE,
110-
objectMapper.writeValueAsBytes(requestDto)
111-
);
112-
113-
String imageUrl = "http://example.com/image/test-image.jpg";
114-
115-
given(imageUploadUseCase.uploadImage(any())).willReturn(imageUrl);
11672
willDoNothing().given(updateCommunityBoardUseCase)
117-
.updateCommunityBoard(any(), any(), any(UUID.class), anyString());
73+
.updateCommunityBoard(any(), any(), any(UUID.class));
11874

119-
MockMultipartHttpServletRequestBuilder builder = multipart("/api/community-board/{id}", 1);
120-
builder.with(new RequestPostProcessor() {
121-
@Override
122-
public MockHttpServletRequest postProcessRequest(MockHttpServletRequest request) {
123-
request.setMethod("PUT");
124-
return request;
125-
}
126-
});
75+
String requestBody = objectMapper.writeValueAsString(requestDto);
12776

12877
//when
129-
mockMvc.perform(builder
130-
.file(requestData)
131-
.file(imageFile)
132-
.contentType(MULTIPART_FORM_DATA)
78+
mockMvc.perform(put("/api/community-board/{id}", 1)
79+
.content(requestBody)
80+
.contentType(APPLICATION_JSON)
13381
.header("Authorization", "Bearer access-token"))
13482

13583
//then
@@ -141,7 +89,7 @@ public MockHttpServletRequest postProcessRequest(MockHttpServletRequest request)
14189

14290
@Test
14391
@DisplayName("커뮤니티 게시글 삭제 성공 테스트")
144-
@WithMockCustomUser
92+
@MockUser
14593
void deleteCommunityBoard_success() throws Exception {
14694
//given
14795
Long communityBoardId = 1L;

src/test/java/com/somemore/domains/community/controller/CommunityCommentCommandApiControllerTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
import com.somemore.domains.community.usecase.comment.DeleteCommunityCommentUseCase;
1818
import com.somemore.domains.community.usecase.comment.UpdateCommunityCommentUseCase;
1919
import com.somemore.support.ControllerTestSupport;
20-
import com.somemore.support.annotation.WithMockCustomUser;
20+
import com.somemore.support.annotation.MockUser;
2121
import java.util.UUID;
2222
import org.junit.jupiter.api.DisplayName;
2323
import org.junit.jupiter.api.Test;
@@ -40,7 +40,7 @@ public class CommunityCommentCommandApiControllerTest extends ControllerTestSupp
4040

4141
@Test
4242
@DisplayName("커뮤니티 댓글 등록 성공 테스트")
43-
@WithMockCustomUser
43+
@MockUser
4444
void createCommunityComment() throws Exception {
4545
//given
4646
CommunityCommentCreateRequestDto requestDto = CommunityCommentCreateRequestDto.builder()
@@ -66,7 +66,7 @@ void createCommunityComment() throws Exception {
6666

6767
@Test
6868
@DisplayName("커뮤니티 댓글 수정 성공 테스트")
69-
@WithMockCustomUser
69+
@MockUser
7070
void updateCommunityComment_success() throws Exception {
7171
//given
7272
CommunityCommentUpdateRequestDto requestDto = CommunityCommentUpdateRequestDto.builder()
@@ -92,7 +92,7 @@ void updateCommunityComment_success() throws Exception {
9292

9393
@Test
9494
@DisplayName("커뮤니티 댓글 삭제 성공 테스트")
95-
@WithMockCustomUser
95+
@MockUser
9696
void deleteCommunityComment_success() throws Exception {
9797
//given
9898
willDoNothing().given(deleteCommunityCommentUseCase)

src/test/java/com/somemore/domains/community/repository/CommunityBoardRepositoryTest.java

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,9 @@
33
import com.somemore.domains.community.domain.CommunityBoard;
44
import com.somemore.domains.community.repository.board.CommunityBoardRepository;
55
import com.somemore.domains.community.repository.mapper.CommunityBoardView;
6-
import com.somemore.domains.volunteer.domain.Volunteer;
7-
import com.somemore.domains.volunteer.repository.VolunteerRepository;
8-
import com.somemore.global.auth.oauth.domain.OAuthProvider;
96
import com.somemore.support.IntegrationTestSupport;
7+
import com.somemore.volunteer.domain.NEWVolunteer;
8+
import com.somemore.volunteer.repository.NEWVolunteerRepository;
109
import org.junit.jupiter.api.BeforeEach;
1110
import org.junit.jupiter.api.DisplayName;
1211
import org.junit.jupiter.api.Test;
@@ -28,19 +27,17 @@ class CommunityBoardRepositoryTest extends IntegrationTestSupport {
2827
@Autowired
2928
private CommunityBoardRepository communityBoardRepository;
3029
@Autowired
31-
private VolunteerRepository volunteerRepository;
30+
private NEWVolunteerRepository volunteerRepository;
3231

3332
private UUID writerId;
3433

3534
@BeforeEach
3635
void setUp() {
37-
String oAuthId1 = "example-oauth-id1";
38-
Volunteer volunteer1 = Volunteer.createDefault(OAuthProvider.NAVER, oAuthId1);
36+
NEWVolunteer volunteer1 = NEWVolunteer.createDefault(UUID.randomUUID());
3937
volunteerRepository.save(volunteer1);
4038
writerId = volunteer1.getId();
4139

42-
String oAuthId2 = "example-oauth-id2";
43-
Volunteer volunteer2 = Volunteer.createDefault(OAuthProvider.NAVER, oAuthId2);
40+
NEWVolunteer volunteer2 = NEWVolunteer.createDefault(UUID.randomUUID());
4441
volunteerRepository.save(volunteer2);
4542

4643
for (int i = 1; i <= 8; i++) {
@@ -60,7 +57,7 @@ void setUp() {
6057
@Test
6158
void getCommunityBoardById() {
6259
//given
63-
CommunityBoard communityBoard = createCommunityBoard(UUID.randomUUID());
60+
CommunityBoard communityBoard = createCommunityBoard(writerId);
6461
communityBoardRepository.save(communityBoard);
6562

6663
//when
@@ -70,21 +67,17 @@ void getCommunityBoardById() {
7067
assertThat(foundCommunityBoard).isNotNull();
7168
assertThat(foundCommunityBoard.get().getTitle()).isEqualTo("테스트 커뮤니티 게시글 제목");
7269
assertThat(foundCommunityBoard.get().getContent()).isEqualTo("테스트 커뮤니티 게시글 내용");
73-
assertThat(foundCommunityBoard.get().getImgUrl()).isEqualTo("http://community.example.com/123");
74-
assertThat(foundCommunityBoard.get().getWriterId()).isEqualTo(communityBoard.getWriterId());
70+
assertThat(foundCommunityBoard.get().getWriterId()).isEqualTo(writerId);
7571
}
7672

7773
@DisplayName("삭제된 커뮤니티 id로 커뮤니티 상세 정보를 조회할 때 예외를 반환할 수 있다. (Repository)")
7874
@Test
7975
void getCommunityBoardByDeletedId() {
8076
//given
81-
CommunityBoard communityBoard = createCommunityBoard(UUID.randomUUID());
82-
communityBoardRepository.save(communityBoard);
83-
8477
communityBoardRepository.deleteAllInBatch();
8578

8679
//when
87-
Optional<CommunityBoard> foundCommunityBoard = communityBoardRepository.findById(communityBoard.getId());
80+
Optional<CommunityBoard> foundCommunityBoard = communityBoardRepository.findById(1L);
8881

8982
//then
9083
assertThat(foundCommunityBoard).isEmpty();

src/test/java/com/somemore/domains/community/repository/CommunityCommentRepositoryTest.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,9 @@
55
import com.somemore.domains.community.repository.board.CommunityBoardRepository;
66
import com.somemore.domains.community.repository.comment.CommunityCommentRepository;
77
import com.somemore.domains.community.repository.mapper.CommunityCommentView;
8-
import com.somemore.domains.volunteer.domain.Volunteer;
9-
import com.somemore.domains.volunteer.repository.VolunteerRepository;
10-
import com.somemore.global.auth.oauth.domain.OAuthProvider;
118
import com.somemore.support.IntegrationTestSupport;
9+
import com.somemore.volunteer.domain.NEWVolunteer;
10+
import com.somemore.volunteer.repository.NEWVolunteerRepository;
1211
import org.junit.jupiter.api.BeforeEach;
1312
import org.junit.jupiter.api.DisplayName;
1413
import org.junit.jupiter.api.Test;
@@ -33,16 +32,15 @@ class CommunityCommentRepositoryTest extends IntegrationTestSupport {
3332
@Autowired
3433
CommunityBoardRepository communityBoardRepository;
3534
@Autowired
36-
VolunteerRepository volunteerRepository;
35+
NEWVolunteerRepository volunteerRepository;
3736

3837
private Long boardId;
3938
private UUID writerId;
4039
private CommunityComment savedComment;
4140

4241
@BeforeEach
4342
void setUp() {
44-
String oAuthId = "example-oauth-id";
45-
Volunteer volunteer = Volunteer.createDefault(OAuthProvider.NAVER, oAuthId);
43+
NEWVolunteer volunteer = NEWVolunteer.createDefault(UUID.randomUUID());
4644
volunteerRepository.save(volunteer);
4745
writerId = volunteer.getId();
4846

src/test/java/com/somemore/domains/community/service/board/CommunityBoardQueryServiceTest.java

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,11 @@
77
import com.somemore.domains.community.repository.board.CommunityBoardRepository;
88
import com.somemore.domains.community.usecase.board.CreateCommunityBoardUseCase;
99
import com.somemore.domains.community.usecase.board.DeleteCommunityBoardUseCase;
10-
import com.somemore.domains.volunteer.domain.Volunteer;
11-
import com.somemore.domains.volunteer.repository.VolunteerRepository;
12-
import com.somemore.global.auth.oauth.domain.OAuthProvider;
1310
import com.somemore.global.exception.BadRequestException;
1411
import com.somemore.global.exception.ExceptionMessage;
1512
import com.somemore.support.IntegrationTestSupport;
13+
import com.somemore.volunteer.domain.NEWVolunteer;
14+
import com.somemore.volunteer.repository.NEWVolunteerRepository;
1615
import org.assertj.core.api.ThrowableAssert;
1716
import org.junit.jupiter.api.AfterEach;
1817
import org.junit.jupiter.api.BeforeEach;
@@ -33,7 +32,7 @@ class CommunityBoardQueryServiceTest extends IntegrationTestSupport {
3332
@Autowired
3433
CommunityBoardRepository communityBoardRepository;
3534
@Autowired
36-
VolunteerRepository volunteerRepository;
35+
NEWVolunteerRepository volunteerRepository;
3736
@Autowired
3837
CenterRepository centerRepository;
3938
@Autowired
@@ -48,12 +47,10 @@ class CommunityBoardQueryServiceTest extends IntegrationTestSupport {
4847

4948
@BeforeEach
5049
void setUp() {
51-
String oAuthId = "example-oauth-id";
52-
Volunteer volunteer = Volunteer.createDefault(OAuthProvider.NAVER, oAuthId);
50+
NEWVolunteer volunteer = NEWVolunteer.createDefault(UUID.randomUUID());
5351
volunteerRepository.save(volunteer);
5452

55-
String oAuthId2 = "example-oauth-id";
56-
Volunteer volunteer2 = Volunteer.createDefault(OAuthProvider.NAVER, oAuthId2);
53+
NEWVolunteer volunteer2 = NEWVolunteer.createDefault(UUID.randomUUID());
5754
volunteerRepository.save(volunteer2);
5855

5956
writerId1 = volunteer.getId();

src/test/java/com/somemore/domains/community/service/board/CreateCommunityBoardServiceTest.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,9 @@ void createCommunityWithDto() {
3535
.build();
3636

3737
UUID writerId = UUID.randomUUID();
38-
String imgUrl = "https://image.test.url/123";
3938

4039
//when
41-
Long communityId = createCommunityBoardService.createCommunityBoard(dto, writerId, imgUrl);
40+
Long communityId = createCommunityBoardService.createCommunityBoard(dto, writerId);
4241

4342
//then
4443
Optional<CommunityBoard> communityBoard = communityBoardRepository.findById(communityId);
@@ -48,7 +47,6 @@ void createCommunityWithDto() {
4847
assertThat(communityBoard.get().getWriterId()).isEqualTo(writerId);
4948
assertThat(communityBoard.get().getTitle()).isEqualTo(dto.title());
5049
assertThat(communityBoard.get().getContent()).isEqualTo(dto.content());
51-
assertThat(communityBoard.get().getImgUrl()).isEqualTo(imgUrl);
5250
}
5351

5452
@DisplayName("커뮤니티 게시글을 이미지 링크 없이 등록할 시 빈 문자열을 저장한다.")
@@ -61,10 +59,9 @@ void createCommunityWithoutImgUrl() {
6159
.build();
6260

6361
UUID writerId = UUID.randomUUID();
64-
String imgUrl = null;
6562

6663
//when
67-
Long communityId = createCommunityBoardService.createCommunityBoard(dto, writerId, imgUrl);
64+
Long communityId = createCommunityBoardService.createCommunityBoard(dto, writerId);
6865

6966
//then
7067
Optional<CommunityBoard> communityBoard = communityBoardRepository.findById(communityId);
@@ -74,6 +71,5 @@ void createCommunityWithoutImgUrl() {
7471
assertThat(communityBoard.get().getWriterId()).isEqualTo(writerId);
7572
assertThat(communityBoard.get().getTitle()).isEqualTo(dto.title());
7673
assertThat(communityBoard.get().getContent()).isEqualTo(dto.content());
77-
assertThat(communityBoard.get().getImgUrl()).isEmpty();
7874
}
7975
}

src/test/java/com/somemore/domains/community/service/board/DeleteCommunityBoardServiceTest.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ class DeleteCommunityBoardServiceTest extends IntegrationTestSupport {
3131

3232
private UUID writerId;
3333
private Long communityId;
34-
private String imgUrl;
3534

3635
@BeforeEach
3736
void setUp() {
@@ -41,9 +40,8 @@ void setUp() {
4140
.build();
4241

4342
writerId = UUID.randomUUID();
44-
imgUrl = "https://image.test.url/123";
4543

46-
communityId = createCommunityBoardUseCase.createCommunityBoard(dto, writerId, imgUrl);
44+
communityId = createCommunityBoardUseCase.createCommunityBoard(dto, writerId);
4745
}
4846

4947
@AfterEach

0 commit comments

Comments
 (0)