-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMemberTest.java
More file actions
123 lines (101 loc) · 4.51 KB
/
MemberTest.java
File metadata and controls
123 lines (101 loc) · 4.51 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
package com.playlist.cassette.entity;
import com.playlist.cassette.dto.auth.TokenDto;
import com.playlist.cassette.init.InitMember;
import com.playlist.cassette.repository.MemberRepository;
import jakarta.transaction.Transactional;
import org.junit.jupiter.api.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.Date;
import java.util.Optional;
import static org.assertj.core.api.Assertions.assertThat;
@SpringBootTest
public class MemberTest {
@Autowired
private MemberRepository memberRepository;
InitMember initMember = new InitMember();
Member member = initMember.createDefaultMember();
@BeforeEach
void setup() {
memberRepository.save(member);
}
@AfterEach
void afterSetup() {
memberRepository.delete(member);
}
@Test
@DisplayName("멤버 객체 생성 성공")
@Transactional
public void test_create_member_성공() {
Optional<Member> savedMember = memberRepository.findByKakaoMemberId(1L);
savedMember.ifPresent(presentedMember -> {
assertThat(presentedMember.getId()).isEqualTo(1);
assertThat(presentedMember.getName()).isEqualTo("김중앙");
assertThat(presentedMember.getEmail()).isEqualTo("test1@cassette.com");
assertThat(presentedMember.getRefreshToken()).isNull();
assertThat(presentedMember.getRefreshTokenExpireTime()).isNull();
assertThat(presentedMember.getAge()).isEqualTo("20-29");
assertThat(presentedMember.getGender()).isEqualTo("male");
assertThat(presentedMember.getTapes()).isEqualTo(member.getTapes());
assertThat(presentedMember.getKakaoMemberId()).isEqualTo(1L);
});
}
@Nested
@DisplayName("member 객체의 상속필드 테스트")
class TestMember {
@Test
@DisplayName("Member 객체에 createAt 값이 정상적으로 들어간다.")
public void test_created_at_in_member_성공() {
Optional<Member> savedMember = memberRepository.findByKakaoMemberId(1L);
savedMember.ifPresent(presentedMember -> {
assertThat(presentedMember.getCreatedAt()).isNotNull();
});
}
@Test
@DisplayName("Member 객체에 lastModifiedAt 값이 정상적으로 들어간다.")
public void test_last_modified_at_in_member_성공() {
Optional<Member> savedMember = memberRepository.findByKakaoMemberId(1L);
savedMember.ifPresent(presentedMember -> {
assertThat(presentedMember.getLastModifiedAt()).isNotNull();
});
}
@Test
@DisplayName("Member 객체에 초기 isRemoved 값은 false로 정상적으로 들어간다.")
public void test_is_removed_in_member_성공() {
Optional<Member> savedMember = memberRepository.findByKakaoMemberId(1L);
savedMember.ifPresent(presentedMember -> {
assertThat(presentedMember.getIsRemoved()).isEqualTo(false);
});
}
}
@Nested
@DisplayName("member 객체의 method 테스트")
class TestMemberMethod {
@Test
@DisplayName("refreshToken, refreshTokenExpireTime이 수정이 된다.")
public void test_update_refresh_token_in_member_성공() {
Date expiredTime = new Date();
Optional<Member> savedMember = memberRepository.findByKakaoMemberId(1L);
TokenDto tokenDto = TokenDto.builder()
.value("abcd")
.expiredTime(expiredTime)
.build();
savedMember.ifPresent(presentedMember -> {
presentedMember.updateRefreshToken(tokenDto);
assertThat(presentedMember.getRefreshToken()).isEqualTo(tokenDto.getValue());
assertThat(presentedMember.getRefreshTokenExpireTime()).isEqualTo(tokenDto.getExpiredTime());
});
}
@Test
@DisplayName("removeStatus가 수정이 된다.")
public void test_update_remove_status_in_member_성공() {
Optional<Member> savedMember = memberRepository.findByKakaoMemberId(1L);
savedMember.ifPresent(presentedMember -> {
presentedMember.updateRemovedStatus();
assertThat(presentedMember.getIsRemoved()).isEqualTo(true);
presentedMember.updateUnRemovedStatus();
assertThat(presentedMember.getIsRemoved()).isEqualTo(false);
});
}
}
}