-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMemberTest.java
More file actions
128 lines (107 loc) Β· 3.78 KB
/
Copy pathMemberTest.java
File metadata and controls
128 lines (107 loc) Β· 3.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
package com.sudo.raillo.member.domain;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
import com.sudo.raillo.global.exception.error.DomainException;
import com.sudo.raillo.member.exception.MemberError;
import com.sudo.raillo.support.fixture.MemberFixture;
import java.time.LocalDate;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
class MemberTest {
@Test
@DisplayName("νμ μμ± μ μν μ΄ MEMBERμ΄κ³ νμ μμΈ μ λ³΄κ° μ€μ λλ€")
void create() {
// given
String name = "νκΈΈλ";
String password = "password123";
String phoneNumber = "010-1234-5678";
String memberNo = "202501010001";
String email = "test@example.com";
LocalDate birthDate = LocalDate.of(1990, 1, 1);
String gender = "M";
// when
Member member = Member.create(name, password, phoneNumber, memberNo, email, birthDate, gender);
// then
assertThat(member.getName()).isEqualTo(name);
assertThat(member.getPassword()).isEqualTo(password);
assertThat(member.getPhoneNumber()).isEqualTo(phoneNumber);
assertThat(member.getRole()).isEqualTo(Role.MEMBER);
assertThat(member.getMemberDetail()).isNotNull();
assertThat(member.getMemberDetail().getMemberNo()).isEqualTo(memberNo);
assertThat(member.getMemberDetail().getEmail()).isEqualTo(email);
assertThat(member.getMemberDetail().getBirthDate()).isEqualTo(birthDate);
assertThat(member.getMemberDetail().getGender()).isEqualTo(gender);
}
@Test
@DisplayName("μ νλ²νΈλ₯Ό μλ‘μ΄ λ²νΈλ‘ λ³κ²½ν μ μλ€")
void updatePhoneNumber() {
// given
Member member = MemberFixture.create();
String newPhoneNumber = "010-9999-8888";
// when
member.updatePhoneNumber(newPhoneNumber);
// then
assertThat(member.getPhoneNumber()).isEqualTo(newPhoneNumber);
}
@Test
@DisplayName("νμ¬μ λμΌν μ νλ²νΈλ‘ λ³κ²½νλ©΄ μμΈκ° λ°μνλ€")
void updatePhoneNumberFail() {
// given
Member member = MemberFixture.builder()
.withPhoneNumber("010-1111-1111")
.build();
String samePhoneNumber = "010-1111-1111";
// when & then
assertThatThrownBy(() -> member.updatePhoneNumber(samePhoneNumber))
.isInstanceOf(DomainException.class)
.hasMessage(MemberError.SAME_PHONE_NUMBER.getMessage());
}
@Test
@DisplayName("λΉλ°λ²νΈλ₯Ό μλ‘μ΄ λΉλ°λ²νΈλ‘ λ³κ²½ν μ μλ€")
void updatePassword() {
// given
Member member = MemberFixture.create();
String newPassword = "newPassword123";
// when
member.updatePassword(newPassword);
// then
assertThat(member.getPassword()).isEqualTo(newPassword);
}
@Test
@DisplayName("νμ¬μ λμΌν λΉλ°λ²νΈλ‘ λ³κ²½νλ©΄ μμΈκ° λ°μνλ€")
void updatePasswordFail() {
// given
Member member = MemberFixture.builder()
.withPassword("samePassword")
.build();
String samePassword = "samePassword";
// when & then
assertThatThrownBy(() -> member.updatePassword(samePassword))
.isInstanceOf(DomainException.class)
.hasMessage(MemberError.SAME_PASSWORD.getMessage());
}
@Test
@DisplayName("μ΄λ©μΌμ μλ‘μ΄ μ΄λ©μΌλ‘ λ³κ²½ν μ μλ€")
void updateEmail() {
// given
Member member = MemberFixture.create();
String newEmail = "new@example.com";
// when
member.updateEmail(newEmail);
// then
assertThat(member.getMemberDetail().getEmail()).isEqualTo(newEmail);
}
@Test
@DisplayName("νμ¬μ λμΌν μ΄λ©μΌλ‘ λ³κ²½νλ©΄ μμΈκ° λ°μνλ€")
void updateEmailFail() {
// given
Member member = MemberFixture.builder()
.withEmail("same@example.com")
.build();
String sameEmail = "same@example.com";
// when & then
assertThatThrownBy(() -> member.updateEmail(sameEmail))
.isInstanceOf(DomainException.class)
.hasMessage(MemberError.SAME_EMAIL.getMessage());
}
}