diff --git a/mutbooks/src/test/java/com/example/mutbooks/app/member/service/MemberServiceTest.java b/mutbooks/src/test/java/com/example/mutbooks/app/member/service/MemberServiceTest.java index b20aa3e..e83c8ba 100644 --- a/mutbooks/src/test/java/com/example/mutbooks/app/member/service/MemberServiceTest.java +++ b/mutbooks/src/test/java/com/example/mutbooks/app/member/service/MemberServiceTest.java @@ -3,8 +3,11 @@ import com.example.mutbooks.app.member.entity.AuthLevel; import com.example.mutbooks.app.member.entity.Member; import com.example.mutbooks.app.member.exception.EmailDuplicationException; +import com.example.mutbooks.app.member.exception.PasswordNotMatchedException; import com.example.mutbooks.app.member.exception.UsernameDuplicationException; import com.example.mutbooks.app.member.form.JoinForm; +import com.example.mutbooks.app.member.form.ModifyForm; +import com.example.mutbooks.app.member.form.PasswordUpdateForm; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; @@ -100,4 +103,50 @@ void join4() { // when, then assertThrows(EmailDuplicationException.class, () -> memberService.join(joinForm)); } + + @Test + @DisplayName("회원기본정보 수정") + void modifyProfile() { + // given + ModifyForm modifyForm = ModifyForm.builder() + .email("new@test.com") + .nickname("new") + .build(); + // when + memberService.modifyProfile("user1", modifyForm); + Member member = memberService.findByUsername("user1"); + // then + assertThat(member.getEmail()).isEqualTo("new@test.com"); + assertThat(member.getNickname()).isEqualTo("new"); + } + + @Test + @DisplayName("회원 비밀번호 수정") + void modifyPassword1() { + // given + PasswordUpdateForm passwordUpdateForm = PasswordUpdateForm.builder() + .password("1234") + .newPassword("12345") + .newPasswordConfirm("12345") + .build(); + // when + memberService.modifyPassword("user1", passwordUpdateForm); + Member member = memberService.findByUsername("user1"); + // then + assertTrue(passwordEncoder.matches("12345", member.getPassword())); + } + + @Test + @DisplayName("기존 비밀번호가 일치하지 않으면 비밀번호 수정 불가") + void modifyPassword2() { + // given + PasswordUpdateForm passwordUpdateForm = PasswordUpdateForm.builder() + .password("123") + .newPassword("12345") + .newPasswordConfirm("12345") + .build(); + // when, then + assertThrows(PasswordNotMatchedException.class, + () -> memberService.modifyPassword("user1", passwordUpdateForm)); + } } \ No newline at end of file