Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -295,14 +295,15 @@ public SliceCustom<SubscribedCompanyResponse> findMySubscribedCompanies(Pageable
* @Since: 2025.07.03
*/
@Transactional
public void changeNickname(String nickname, Authentication authentication) {
public String changeNickname(String nickname, Authentication authentication) {
Member member = memberProvider.getMemberByAuthentication(authentication);

if (!member.canChangeNickname()) {
throw new NicknameException(NICKNAME_CHANGE_RATE_LIMIT_MESSAGE);
}

member.changeNickname(nickname, timeProvider.getLocalDateTimeNow());
return member.getNicknameAsString();
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -147,12 +147,12 @@ public ResponseEntity<BasicResponse<String>> getRandomNickname() {

@Operation(summary = "닉네임 변경", description = "유저의 닉네임을 변경합니다.")
@PatchMapping("/mypage/nickname")
public ResponseEntity<BasicResponse<Void>> changeNickname(
public ResponseEntity<BasicResponse<String>> changeNickname(
@RequestBody @Valid ChangeNicknameRequest request
) {
Authentication authentication = AuthenticationMemberUtils.getAuthentication();
memberService.changeNickname(request.getNickname(), authentication);
return ResponseEntity.ok(BasicResponse.success());
String response = memberService.changeNickname(request.getNickname(), authentication);
return ResponseEntity.ok(BasicResponse.success(response));
}

@Operation(summary = "닉네임 변경 가능 여부 조회", description = "닉네임 변경 가능 여부를 true/false로 반환합니다.")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1198,10 +1198,11 @@ void changeNickname() {
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();

// when
memberService.changeNickname(newNickname, authentication);
String changedNickname = memberService.changeNickname(newNickname, authentication);

// then
assertThat(member.getNickname().getNickname()).isEqualTo(newNickname);
assertThat(changedNickname).isEqualTo(newNickname);
}

@DisplayName("회원이 24시간 이내에 닉네임을 변경한 적이 있다면 예외가 발생한다.")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ void changeNickname() throws Exception {
request.setNickname(newNickname);

// when
doNothing().when(memberService).changeNickname(any(), any());
when(memberService.changeNickname(any(), any())).thenReturn(newNickname);

// then
mockMvc.perform(patch("/devdevdev/api/v1/mypage/nickname")
Expand All @@ -96,7 +96,8 @@ void changeNickname() throws Exception {
.andExpect(status().isOk())
.andDo(print())
.andExpect(status().isOk())
.andExpect(jsonPath("$.resultType").value(SUCCESS.name()));
.andExpect(jsonPath("$.resultType").value(SUCCESS.name()))
.andExpect(jsonPath("$.data").value(newNickname));

// 서비스 메서드가 호출되었는지 검증
verify(memberService).changeNickname(eq(newNickname), any());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ void changeNickname() throws Exception {
ChangeNicknameRequest request = createChangeNicknameRequest(newNickname);

// when
doNothing().when(memberService).changeNickname(any(), any());
when(memberService.changeNickname(any(), any())).thenReturn(newNickname);

// then
mockMvc.perform(patch("/devdevdev/api/v1/mypage/nickname")
Expand All @@ -123,7 +123,8 @@ void changeNickname() throws Exception {
headerWithName(AUTHORIZATION_HEADER).description("Bearer 엑세스 토큰")
),
responseFields(
fieldWithPath("resultType").description("성공 여부")
fieldWithPath("resultType").description("성공 여부"),
fieldWithPath("data").description("변경된 닉네임")
)
));

Expand Down