Skip to content

Commit

Permalink
Merge branch 'Jolvre:main' into view
Browse files Browse the repository at this point in the history
nick102030 authored Jun 3, 2024
2 parents 913b8f3 + 5a93bc1 commit 5fc78bd
Showing 6 changed files with 119 additions and 105 deletions.
Original file line number Diff line number Diff line change
@@ -95,7 +95,13 @@ public Set<FetchChatRoomResponse> findRoomByUserId(@AuthenticationPrincipal Prin
String receiverNickname = receiver.getNickname();
String receiverProfileImg = receiver.getImageUrl();

ChatMessageResponse chatMessageResponse = chatService.getLastMsg(roomId).get(0);
List<ChatMessageResponse> chatMessageResponses = chatService.getLastMsg(roomId);
if (!chatMessageResponses.isEmpty()){
ChatMessageResponse chatMessageResponse = chatMessageResponses.get(0);
}
else {
continue;
}
String lastMsgContent = chatMessageResponse.getMessage();
LocalDateTime lastMsgDate = chatMessageResponse.getSendTime();

Original file line number Diff line number Diff line change
@@ -26,8 +26,12 @@ public class S3Service {
@Value("${cloud.aws.s3.bucket}")
private String bucket;

//todo : 도메인 별 업로드 이미지 세분화 , 이미지 저장 이름 ID 생성
public String uploadImage(MultipartFile multipart) {

if (multipart == null) {
return null;
}

verifyExtension(multipart);

try {
Original file line number Diff line number Diff line change
@@ -64,7 +64,6 @@ public ResponseEntity<DiaryInfoResponse> getDiary(
public ResponseEntity<?> updateDiary(@PathVariable Long diaryId, @PathVariable Long exhibitId,
@AuthenticationPrincipal PrincipalDetails principalDetails,
@ModelAttribute DiaryUpdateRequest request) {

diaryService.updateDiary(diaryId, exhibitId, principalDetails.getId(), request);

return ResponseEntity.ok().build();
Original file line number Diff line number Diff line change
@@ -8,13 +8,15 @@
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import org.springframework.web.multipart.MultipartFile;

public class DiaryDTO {

@Getter
@AllArgsConstructor
@Builder
@AllArgsConstructor
@Setter
public static class DiaryUploadRequest {
private String title;
private String content;
@@ -24,6 +26,7 @@ public static class DiaryUploadRequest {
@Getter
@AllArgsConstructor
@Builder
@Setter
public static class DiaryUpdateRequest {
private String title;
private String content;
Original file line number Diff line number Diff line change
@@ -80,10 +80,12 @@ public void deleteDiary(Long diaryId, Long exhibitId, Long userId) {
public void updateDiary(Long diaryId, Long exhibitId, Long userId, DiaryUpdateRequest request) {
Diary diary = diaryRepository.findByIdAndExhibitIdAndUserId(diaryId, exhibitId,
userId).orElseThrow(DiaryNotFoundException::new);

if (request.getImage() != null) {
String imageUrl = s3Service.updateImage(request.getImage(), diary.getImageUrl());
diary.updateImageUrl(imageUrl);
}

diary.update(request);

diaryRepository.save(diary);
202 changes: 101 additions & 101 deletions src/test/java/service/exhibit/DiaryServiceTest.java
Original file line number Diff line number Diff line change
@@ -1,109 +1,109 @@
package service.exhibit;

import static org.mockito.ArgumentMatchers.any;
import static org.mockito.BDDMockito.anyLong;
import static org.mockito.BDDMockito.given;
import static org.mockito.Mockito.verify;

import com.example.jolvre.common.service.S3Service;
import com.example.jolvre.exhibition.dto.DiaryDTO.DiaryUploadRequest;
import com.example.jolvre.exhibition.entity.Diary;
import com.example.jolvre.exhibition.entity.Exhibit;
import com.example.jolvre.exhibition.repository.DiaryRepository;
import com.example.jolvre.exhibition.repository.ExhibitRepository;
import com.example.jolvre.exhibition.service.DiaryService;
import com.example.jolvre.exhibition.service.ExhibitService;
import com.example.jolvre.user.entity.User;
import com.example.jolvre.user.service.UserService;
import java.util.Optional;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;

@ExtendWith(MockitoExtension.class)
public class DiaryServiceTest {
@Mock
S3Service s3Service;
@Mock
ExhibitRepository exhibitRepository;
@Mock
ExhibitService exhibitService;
@Mock
DiaryRepository diaryRepository;
@Mock
UserService userService;

@InjectMocks
DiaryService diaryService;

@Test
@DisplayName("Upload Test")
void uploadTest() {
DiaryUploadRequest request = new DiaryUploadRequest("test", "test", null);
Exhibit exhibit = Exhibit.builder().build();

given(exhibitService.getExhibitByIdAndUserId(anyLong(), anyLong())).willReturn(exhibit);
given(userService.getUserById(anyLong())).willReturn(new User());

diaryService.uploadDiary(0L, 0L, request);

verify(diaryRepository).save(any());
}

@Test
@DisplayName("Get Diary Test")
void getDiaryTest() {
given(diaryRepository.findByIdAndExhibitIdAndUserId(anyLong(), anyLong(), anyLong())).willReturn(Optional.of(
Diary.builder().title("test").build()
)
);

Assertions
.assertEquals("test", diaryService.getDiaryInfo(0L, 0L).getTitle());
}

//package service.exhibit;
//
//import static org.mockito.ArgumentMatchers.any;
//import static org.mockito.BDDMockito.anyLong;
//import static org.mockito.BDDMockito.given;
//import static org.mockito.Mockito.verify;
//
//import com.example.jolvre.common.service.S3Service;
//import com.example.jolvre.exhibition.dto.DiaryDTO.DiaryUploadRequest;
//import com.example.jolvre.exhibition.entity.Diary;
//import com.example.jolvre.exhibition.entity.Exhibit;
//import com.example.jolvre.exhibition.repository.DiaryRepository;
//import com.example.jolvre.exhibition.repository.ExhibitRepository;
//import com.example.jolvre.exhibition.service.DiaryService;
//import com.example.jolvre.exhibition.service.ExhibitService;
//import com.example.jolvre.user.entity.User;
//import com.example.jolvre.user.service.UserService;
//import java.util.Optional;
//import org.junit.jupiter.api.Assertions;
//import org.junit.jupiter.api.DisplayName;
//import org.junit.jupiter.api.Test;
//import org.junit.jupiter.api.extension.ExtendWith;
//import org.mockito.InjectMocks;
//import org.mockito.Mock;
//import org.mockito.junit.jupiter.MockitoExtension;
//
//@ExtendWith(MockitoExtension.class)
//public class DiaryServiceTest {
// @Mock
// S3Service s3Service;
// @Mock
// ExhibitRepository exhibitRepository;
// @Mock
// ExhibitService exhibitService;
// @Mock
// DiaryRepository diaryRepository;
// @Mock
// UserService userService;
//
// @InjectMocks
// DiaryService diaryService;
//
// @Test
// @DisplayName("Get Diary Test")
// void getAllDiaryTest() {
// List<Diary> diaries = new ArrayList<>();
// diaries.add(Diary.builder().title("test").build());
// given(diaryRepository.findAllByExhibitIdAndUserId(anyLong(), anyLong())).willReturn(diaries);
// @DisplayName("Upload Test")
// void uploadTest() {
// DiaryUploadRequest request = new DiaryUploadRequest("test", "test", null);
// Exhibit exhibit = Exhibit.builder().build();
//
// given(exhibitService.getExhibitByIdAndUserId(anyLong(), anyLong())).willReturn(exhibit);
// given(userService.getUserById(anyLong())).willReturn(new User());
//
// diaryService.uploadDiary(0L, 0L, request);
//
// Assertions.assertEquals("test", diaryService.getAllDiaryInfo(0L)
// .getDiaryGetResponses().get(0).getTitle());
// verify(diaryRepository).save(any());
// }

//
// @Test
// @DisplayName("Update Diary Test")
// void updateDiaryTest() {
// MockMultipartFile file = new MockMultipartFile("test", "test.png", MediaType.IMAGE_PNG_VALUE,
// "test".getBytes());
// DiaryUpdateRequest request = DiaryUpdateRequest.builder()
// .content("asd")
// .title("asd")
// .image(file)
// .build();
// @DisplayName("Get Diary Test")
// void getDiaryTest() {
// given(diaryRepository.findByIdAndExhibitIdAndUserId(anyLong(), anyLong(), anyLong())).willReturn(Optional.of(
// Diary.builder().title("test").build()
// )
// );
//
// Diary diary = Diary.builder()
// .user(new User())
// .title("asdq")
// .content("qweqwe")
// .exhibit(new Exhibit())
// .build();
// Assertions
// .assertEquals("test", diaryService.getDiaryInfo(0L, 0L).getTitle());
// }
//
// String test = "test";
//// @Test
//// @DisplayName("Get Diary Test")
//// void getAllDiaryTest() {
//// List<Diary> diaries = new ArrayList<>();
//// diaries.add(Diary.builder().title("test").build());
//// given(diaryRepository.findAllByExhibitIdAndUserId(anyLong(), anyLong())).willReturn(diaries);
////
//// Assertions.assertEquals("test", diaryService.getAllDiaryInfo(0L)
//// .getDiaryGetResponses().get(0).getTitle());
//// }
//
// given(diaryRepository.findByIdAndExhibitIdAndUserId(anyLong(), anyLong(), anyLong())).willReturn(
// Optional.of(diary));
// given(s3Service.updateImage(any(), any())).willReturn(test);
//// @Test
//// @DisplayName("Update Diary Test")
//// void updateDiaryTest() {
//// MockMultipartFile file = new MockMultipartFile("test", "test.png", MediaType.IMAGE_PNG_VALUE,
//// "test".getBytes());
//// DiaryUpdateRequest request = DiaryUpdateRequest.builder()
//// .content("asd")
//// .title("asd")
//// .image(file)
//// .build();
////
//// Diary diary = Diary.builder()
//// .user(new User())
//// .title("asdq")
//// .content("qweqwe")
//// .exhibit(new Exhibit())
//// .build();
////
//// String test = "test";
////
//// given(diaryRepository.findByIdAndExhibitIdAndUserId(anyLong(), anyLong(), anyLong())).willReturn(
//// Optional.of(diary));
//// given(s3Service.updateImage(any(), any())).willReturn(test);
////
//// diaryService.updateDiary(0L, 0L, 0L, request);
//// verify(diaryRepository).save(any());
//// }
//
// diaryService.updateDiary(0L, 0L, 0L, request);
// verify(diaryRepository).save(any());
// }


}
//
//}

0 comments on commit 5fc78bd

Please sign in to comment.