1
1
package com .ajou .hertz .unit .domain .user .service ;
2
2
3
- import static org .assertj .core .api .Assertions .*;
4
3
import static org .mockito .BDDMockito .*;
5
4
6
5
import java .time .LocalDate ;
25
24
import com .ajou .hertz .domain .user .constant .RoleType ;
26
25
import com .ajou .hertz .domain .user .entity .User ;
27
26
import com .ajou .hertz .domain .user .entity .UserProfileImage ;
28
- import com .ajou .hertz .domain .user .exception .UserNotFoundByIdException ;
29
27
import com .ajou .hertz .domain .user .repository .UserProfileImageRepository ;
30
28
import com .ajou .hertz .domain .user .repository .UserRepository ;
31
29
import com .ajou .hertz .domain .user .service .UserProfileImageCommandService ;
@@ -66,7 +64,6 @@ public void setUp() {
66
64
// given
67
65
Long userId = 1L ;
68
66
User user = createUser (userId , "password" , "kakaoUid" );
69
- given (userQueryService .getById (userId )).willReturn (user );
70
67
71
68
MultipartFile newProfileImage = new MockMultipartFile (
72
69
"profileImage" ,
@@ -80,10 +77,9 @@ public void setUp() {
80
77
given (fileService .uploadFile (newProfileImage , uploadPath )).willReturn (uploadedFile );
81
78
82
79
// when
83
- sut .updateProfileImage (userId , newProfileImage );
80
+ sut .updateProfileImage (user , newProfileImage );
84
81
85
82
// then
86
- then (userQueryService ).should ().getById (userId );
87
83
then (fileService ).should ().uploadFile (newProfileImage , uploadPath );
88
84
then (userProfileImageRepository ).should ().save (any (UserProfileImage .class ));
89
85
verifyEveryMocksShouldHaveNoMoreInteractions ();
@@ -94,11 +90,10 @@ public void setUp() {
94
90
// given
95
91
Long userId = 1L ;
96
92
User user = createUser (userId , "password" , "kakaoUid" );
97
- given (userQueryService .getById (userId )).willReturn (user );
98
93
99
94
UserProfileImage oldProfileImage = createUserProfileImage (user , "oldOriginalName.jpg" , "oldStoredName.jpg" ,
100
95
"https://example.com/old-image-url" );
101
- given (userProfileImageRepository .findById (userId )).willReturn (Optional .of (oldProfileImage ));
96
+ given (userProfileImageRepository .findByUser_Id (userId )).willReturn (Optional .of (oldProfileImage ));
102
97
103
98
MultipartFile newProfileImage = new MockMultipartFile (
104
99
"profileImage" ,
@@ -110,43 +105,20 @@ public void setUp() {
110
105
String uploadPath = "user-profile-images/" ;
111
106
FileDto uploadedFile = createFileDto ();
112
107
113
- given (fileService .uploadFile (eq ( newProfileImage ), eq ( uploadPath ) )).willReturn (uploadedFile );
108
+ given (fileService .uploadFile (newProfileImage , uploadPath )).willReturn (uploadedFile );
114
109
115
110
// when
116
- sut .updateProfileImage (userId , newProfileImage );
111
+ sut .updateProfileImage (user , newProfileImage );
117
112
118
113
// then
119
- then (userQueryService ).should ().getById (userId );
120
- then (userProfileImageRepository ).should ().findById (userId );
121
- then (userProfileImageRepository ).should ().delete (any (UserProfileImage .class ));
122
- then (fileService ).should ().deleteFile (anyString ());
123
- then (fileService ).should ().uploadFile (eq (newProfileImage ), eq (uploadPath ));
114
+ then (userProfileImageRepository ).should ().findByUser_Id (userId );
115
+ then (userProfileImageRepository ).should ().delete (oldProfileImage );
116
+ then (fileService ).should ().deleteFile (oldProfileImage .getStoredName ());
117
+ then (fileService ).should ().uploadFile (newProfileImage , uploadPath );
124
118
then (userProfileImageRepository ).should ().save (any (UserProfileImage .class ));
125
119
verifyEveryMocksShouldHaveNoMoreInteractions ();
126
120
}
127
121
128
- @ Test
129
- void 프로필_이미지_변경_시_존재하지_않는_유저라면_예외를_반환한다 () throws Exception {
130
- // given
131
- Long userId = 1L ;
132
- given (userQueryService .getById (userId )).willThrow (UserNotFoundByIdException .class );
133
-
134
- MultipartFile newProfileImage = new MockMultipartFile (
135
- "profileImage" ,
136
- "newProfile.jpg" ,
137
- "image/jpeg" ,
138
- "new image content" .getBytes ()
139
- );
140
-
141
- // when
142
- Throwable t = catchThrowable (() -> sut .updateProfileImage (userId , newProfileImage ));
143
-
144
- // then
145
- assertThat (t ).isInstanceOf (UserNotFoundByIdException .class );
146
- then (userQueryService ).should ().getById (userId );
147
- verifyEveryMocksShouldHaveNoMoreInteractions ();
148
- }
149
-
150
122
private void verifyEveryMocksShouldHaveNoMoreInteractions () {
151
123
then (userQueryService ).shouldHaveNoMoreInteractions ();
152
124
then (userRepository ).shouldHaveNoMoreInteractions ();
0 commit comments