-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMemberTest.java
More file actions
57 lines (52 loc) · 2.05 KB
/
MemberTest.java
File metadata and controls
57 lines (52 loc) · 2.05 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
package com.dreamypatisiel.devdevdev.domain.entity;
import static org.assertj.core.api.Assertions.*;
import java.time.LocalDateTime;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvSource;
class MemberTest {
@ParameterizedTest
@CsvSource({
", true", // 변경 이력 없음(null)
"60, false", // 24시간 이내
"1439, false", // 24시간 이내
"1440, true", // 24시간 경과(경계)
"1550, true", // 24시간 초과
})
@DisplayName("닉네임 변경 가능 여부 파라미터 테스트")
void canChangeNickname(Long minutesAgo, boolean expected) {
// given
LocalDateTime now = LocalDateTime.now();
Member member = new Member();
if (minutesAgo != null) {
member.changeNickname("닉네임", now.minusMinutes(minutesAgo));
}
int restrictionMinutes = 1440; // 24시간
// when
boolean result = member.canChangeNickname(restrictionMinutes, now);
// then
assertThat(result).isEqualTo(expected);
}
@ParameterizedTest
@CsvSource({
", true", // 변경 이력 없음(null)
"0, false", // 24시간 이내
"1, true", // 24시간 이내
"60, true", // 24시간 경과(경계)
"1440, true", // 24시간 초과
})
@DisplayName("닉네임 변경 가능 여부 파라미터 테스트")
void canChangeNicknameWhenDev(Long minutesAgo, boolean expected) {
// given
LocalDateTime now = LocalDateTime.now();
Member member = new Member();
if (minutesAgo != null) {
member.changeNickname("닉네임", now.minusMinutes(minutesAgo));
}
int restrictionMinutes = 1; // 1분
// when
boolean result = member.canChangeNickname(restrictionMinutes, now);
// then
assertThat(result).isEqualTo(expected);
}
}