Skip to content

Commit 337ba59

Browse files
authored
feat : Require bjNickname field when signing up (#397)
1 parent b2196c7 commit 337ba59

File tree

4 files changed

+15
-9
lines changed

4 files changed

+15
-9
lines changed

src/main/java/com/gamzabat/algohub/feature/user/dto/RegisterRequest.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,7 @@
33
import jakarta.validation.constraints.NotBlank;
44

55
public record RegisterRequest(@NotBlank(message = "비밀번호는 필수 입력입니다.") String password,
6-
@NotBlank(message = "닉네임은 필수 입력입니다.") String nickname){
6+
@NotBlank(message = "닉네임은 필수 입력입니다.") String nickname,
7+
@NotBlank(message = "백준 아이디는 필수 입력입니다.") String bjNickname
8+
) {
79
}

src/main/java/com/gamzabat/algohub/feature/user/service/UserService.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,13 +84,15 @@ public void register(RegisterRequest request, MultipartFile profileImage, String
8484
checkNickname(request.nickname());
8585
checkEmailForm(email);
8686
checkPasswordForm(request.password());
87+
validateBjNickname(request.bjNickname());
8788

8889
String encodedPassword = passwordEncoder.encode(request.password());
8990

9091
User user = userRepository.save(User.builder()
9192
.email(email)
9293
.password(encodedPassword)
9394
.nickname(request.nickname())
95+
.bjNickname(request.bjNickname())
9496
.role(Role.USER)
9597
.build());
9698

src/test/java/com/gamzabat/algohub/feature/user/controller/UserControllerTest.java

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ void setUp() {
9292
@DisplayName("회원 가입 성공")
9393
void register() throws Exception {
9494
// given
95-
RegisterRequest request = new RegisterRequest("password", "nickname");
95+
RegisterRequest request = new RegisterRequest("password", "nickname", "bjNickname");
9696
String requestJson = objectMapper.writeValueAsString(request);
9797
MockMultipartFile requestPart = new MockMultipartFile("request", "", "application/json",
9898
requestJson.getBytes());
@@ -115,7 +115,7 @@ void register() throws Exception {
115115
@DisplayName("회원 가입 성공 : 프로필 사진 X")
116116
void register_2() throws Exception {
117117
// given
118-
RegisterRequest request = new RegisterRequest("password", "nickname");
118+
RegisterRequest request = new RegisterRequest("password", "nickname", "bjNickname");
119119
String requestJson = objectMapper.writeValueAsString(request);
120120
MockMultipartFile requestPart = new MockMultipartFile("request", "", "application/json",
121121
requestJson.getBytes());
@@ -133,13 +133,15 @@ void register_2() throws Exception {
133133

134134
@ParameterizedTest
135135
@CsvSource(value = {
136-
" '', nickname, password : 비밀번호는 필수 입력입니다.",
137-
"password, '', nickname : 닉네임은 필수 입력입니다."
136+
" '', nickname, bjNickname, password : 비밀번호는 필수 입력입니다.",
137+
"password, '', bjNickname, nickname : 닉네임은 필수 입력입니다.",
138+
"password, nickname, '', bjNickname : 백준 아이디는 필수 입력입니다.",
138139
}, nullValues = "null")
139140
@DisplayName("회원 가입 실패 : 잘못된 요청")
140-
void registerFailed_1(String password, String nickname, String exceptionMessage) throws Exception {
141+
void registerFailed_1(String password, String nickname, String bjNickname, String exceptionMessage) throws
142+
Exception {
141143
// given
142-
RegisterRequest request = new RegisterRequest(password, nickname);
144+
RegisterRequest request = new RegisterRequest(password, nickname, bjNickname);
143145
String requestJson = objectMapper.writeValueAsString(request);
144146
MockMultipartFile requestPart = new MockMultipartFile("request", "", "application/json",
145147
requestJson.getBytes());
@@ -161,7 +163,7 @@ void registerFailed_1(String password, String nickname, String exceptionMessage)
161163
@DisplayName("회원가입 실패 : 이미 가입 된 이메일")
162164
void registerFailed_2() throws Exception {
163165
// given
164-
RegisterRequest request = new RegisterRequest("password", "nickname");
166+
RegisterRequest request = new RegisterRequest("password", "nickname", "bjNickname");
165167
String requestJson = objectMapper.writeValueAsString(request);
166168
MockMultipartFile requestPart = new MockMultipartFile("request", "", "application/json",
167169
requestJson.getBytes());

src/test/java/com/gamzabat/algohub/feature/user/service/UserServiceTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ void setUp() throws NoSuchFieldException, IllegalAccessException {
139139
void register() {
140140
// given
141141
String prefix = "1_test@email.com";
142-
RegisterRequest request = new RegisterRequest(password, nickname);
142+
RegisterRequest request = new RegisterRequest(password, nickname, bjNickname);
143143
MockMultipartFile profileImage = new MockMultipartFile("image", "image.jpg", "image/jpeg", "test".getBytes());
144144
when(redisService.getValues(EMAIL_VERIFICATION_TOKEN)).thenReturn(email);
145145
when(userRepository.save(any(User.class))).thenReturn(user);

0 commit comments

Comments
 (0)