@@ -38,15 +38,15 @@ class UserServiceTest {
3838 @ Test
3939 @ DisplayName ("정상 회원가입 성공" )
4040 void register_success () {
41- // given
41+ // given: 정상적인 회원가입 요청 생성
4242 UserRegisterRequest request = new UserRegisterRequest (
4343 "testuser" ,
"[email protected] " ,
"P@ssw0rd!" ,
"홍길동" 4444 );
4545
46- // when
46+ // when: 회원가입 실행
4747 UserResponse response = userService .register (request );
4848
49- // then
49+ // then: 반환된 값 검증
5050 assertThat (response .username ()).isEqualTo ("testuser" );
5151 assertThat (
response .
email ()).
isEqualTo (
"[email protected] " );
5252 assertThat (response .nickname ()).isEqualTo ("홍길동" );
@@ -56,17 +56,19 @@ void register_success() {
5656 String encoded = userRepository .findById (response .userId ()).get ().getPassword ();
5757 assertThat (passwordEncoder .matches ("P@ssw0rd!" , encoded )).isTrue ();
5858
59- // UserProfile도 함께 저장됐는지 검증
59+ // UserProfile도 함께 생성되었는지 확인
6060 assertThat (userProfileRepository .existsByNickname ("홍길동" )).isTrue ();
6161 }
6262
6363 @ Test
6464 @ DisplayName ("중복된 username이면 예외 발생" )
6565 void register_duplicateUsername () {
66+ // given: 동일 username으로 첫 번째 가입
6667 userService .register (new UserRegisterRequest (
6768 "dupuser" ,
"[email protected] " ,
"P@ssw0rd!" ,
"닉네임" 6869 ));
6970
71+ // when & then: 같은 username으로 가입 시 예외 발생
7072 assertThatThrownBy (() ->
7173 userService .register (new UserRegisterRequest (
7274 "dupuser" ,
"[email protected] " ,
"P@ssw0rd!" ,
"다른닉네임" @@ -78,10 +80,12 @@ void register_duplicateUsername() {
7880 @ Test
7981 @ DisplayName ("중복된 email이면 예외 발생" )
8082 void register_duplicateEmail () {
83+ // given: 동일 email로 첫 번째 가입
8184 userService .register (new UserRegisterRequest (
8285 "user1" ,
"[email protected] " ,
"P@ssw0rd!" ,
"닉네임" 8386 ));
8487
88+ // when & then: 같은 email로 가입 시 예외 발생
8589 assertThatThrownBy (() ->
8690 userService .register (new UserRegisterRequest (
8791 "user2" ,
"[email protected] " ,
"P@ssw0rd!" ,
"다른닉네임" @@ -93,10 +97,12 @@ void register_duplicateEmail() {
9397 @ Test
9498 @ DisplayName ("중복된 nickname이면 예외 발생" )
9599 void register_duplicateNickname () {
100+ // given: 동일 nickname으로 첫 번째 가입
96101 userService .register (new UserRegisterRequest (
97102 "user1" ,
"[email protected] " ,
"P@ssw0rd!" ,
"dupnick" 98103 ));
99104
105+ // when & then: 같은 nickname으로 가입 시 예외 발생
100106 assertThatThrownBy (() ->
101107 userService .register (new UserRegisterRequest (
102108 "user2" ,
"[email protected] " ,
"P@ssw0rd!" ,
"dupnick" @@ -108,10 +114,12 @@ void register_duplicateNickname() {
108114 @ Test
109115 @ DisplayName ("비밀번호 정책 위반(숫자/특수문자 없음) → 예외 발생" )
110116 void register_invalidPassword_noNumberOrSpecial () {
117+ // given: 숫자, 특수문자 없는 비밀번호
111118 UserRegisterRequest request = new UserRegisterRequest (
112119 "user1" ,
"[email protected] " ,
"abcdefgh" ,
"닉네임" 113120 );
114121
122+ // when & then: 정책 위반으로 예외 발생
115123 assertThatThrownBy (() -> userService .register (request ))
116124 .isInstanceOf (CustomException .class )
117125 .hasMessage (ErrorCode .INVALID_PASSWORD .getMessage ());
@@ -120,10 +128,12 @@ void register_invalidPassword_noNumberOrSpecial() {
120128 @ Test
121129 @ DisplayName ("비밀번호 정책 위반(길이 7자) → 예외 발생" )
122130 void register_invalidPassword_tooShort () {
131+ // given: 7자리 비밀번호 (정책상 8자 이상 필요)
123132 UserRegisterRequest request = new UserRegisterRequest (
124133 "user2" ,
"[email protected] " ,
"Abc12!" ,
"닉네임" 125134 );
126135
136+ // when & then: 정책 위반으로 예외 발생
127137 assertThatThrownBy (() -> userService .register (request ))
128138 .isInstanceOf (CustomException .class )
129139 .hasMessage (ErrorCode .INVALID_PASSWORD .getMessage ());
@@ -132,12 +142,15 @@ void register_invalidPassword_tooShort() {
132142 @ Test
133143 @ DisplayName ("비밀번호 정책 통과(정상 8자 이상, 숫자/특수문자 포함) → 성공" )
134144 void register_validPassword () {
145+ // given: 정책을 만족하는 정상 비밀번호
135146 UserRegisterRequest request = new UserRegisterRequest (
136147 "user3" ,
"[email protected] " ,
"Abcd123!" ,
"닉네임" 137148 );
138149
150+ // when: 회원가입 실행
139151 UserResponse response = userService .register (request );
140152
153+ // then: username과 비밀번호 인코딩 검증
141154 assertThat (response .username ()).isEqualTo ("user3" );
142155 assertThat (passwordEncoder .matches ("Abcd123!" ,
143156 userRepository .findById (response .userId ()).get ().getPassword ())).isTrue ();
0 commit comments