Skip to content

Commit 9f3e652

Browse files
committed
fix: 북마크 삭제 추가
1 parent c72871a commit 9f3e652

File tree

3 files changed

+13
-1
lines changed

3 files changed

+13
-1
lines changed

capturecat-core/src/main/java/com/capturecat/core/domain/bookmark/BookmarkRepository.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,6 @@ public interface BookmarkRepository extends JpaRepository<Bookmark, Long>, Bookm
1212
Optional<Bookmark> findByUserAndImage(User user, Image image);
1313

1414
boolean existsByUserAndImage(User user, Image image);
15+
16+
void deleteByUser(User user);
1517
}

capturecat-core/src/main/java/com/capturecat/core/service/user/UserService.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
import com.capturecat.core.api.user.dto.UserReqDto.JoinReqDto;
1212
import com.capturecat.core.api.user.dto.UserReqDto.JoinRespDto;
13+
import com.capturecat.core.domain.bookmark.BookmarkRepository;
1314
import com.capturecat.core.domain.image.Image;
1415
import com.capturecat.core.domain.image.ImageRepository;
1516
import com.capturecat.core.domain.tag.ImageTagRepository;
@@ -30,6 +31,7 @@ public class UserService {
3031
private final UserRepository userRepository;
3132
private final ImageRepository imageRepository;
3233
private final ImageTagRepository imageTagRepository;
34+
private final BookmarkRepository bookmarkRepository;
3335

3436
private final PasswordEncoder passwordEncoder;
3537

@@ -75,7 +77,10 @@ public void withdraw(LoginUser loginUser) {
7577
User user = userRepository.findByUsername(loginUser.getUsername()) //email
7678
.orElseThrow(() -> new CoreException(ErrorType.USER_NOT_FOUND));
7779

78-
// 1. 해당 User가 소유한 이미지 모두 삭제
80+
//1. 즐겨찾기 삭제
81+
bookmarkRepository.deleteByUser(user);
82+
83+
// 2. 해당 User가 소유한 이미지 모두 삭제
7984
List<Image> byUser = imageRepository.findByUser(user);
8085
byUser.forEach(imageTagRepository::deleteAllByImage);
8186
imageRepository.deleteAll(byUser);

capturecat-core/src/test/java/com/capturecat/core/service/user/UserServiceTest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import org.mockito.junit.jupiter.MockitoExtension;
2121
import org.springframework.security.crypto.password.PasswordEncoder;
2222

23+
import com.capturecat.core.domain.bookmark.BookmarkRepository;
2324
import com.capturecat.core.domain.image.Image;
2425
import com.capturecat.core.domain.image.ImageRepository;
2526
import com.capturecat.core.domain.tag.ImageTagRepository;
@@ -44,6 +45,9 @@ class UserServiceTest {
4445
@Mock
4546
private ImageTagRepository imageTagRepository;
4647

48+
@Mock
49+
private BookmarkRepository bookmarkRepository;
50+
4751
@Spy
4852
private PasswordEncoder passwordEncoder;
4953

@@ -102,6 +106,7 @@ class UserServiceTest {
102106
userService.withdraw(new LoginUser(savedUser));
103107

104108
// then
109+
verify(bookmarkRepository).deleteByUser(savedUser);
105110
verify(imageRepository).findByUser(savedUser);
106111

107112
// 각 이미지에 대해 imageTagRepository.deleteAllByImage 호출

0 commit comments

Comments
 (0)