Skip to content

Commit

Permalink
[TEST] refactor user domain
Browse files Browse the repository at this point in the history
  • Loading branch information
nogamsung committed Jan 21, 2024
1 parent 0680239 commit c0cf8b3
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 32 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -19,16 +19,24 @@ class UserRoleTest {
@DisplayName("회원 권한 생성이 정상 작동한다")
void givenValid_whenBuilder_thenReturn() {
// given
User user = createDefaultUser("tester", LocalDateTime.now());
LocalDateTime now = LocalDateTime.now();
User user = createDefaultUser("tester", now);
Role role = Role.USER;

// when
UserRole userRole = createUserRole(role, user);

// then
assertThat(userRole)
.extracting("role", "user")
.containsExactly(role, user);
assertAll(
() -> assertThat(userRole.getRole()).isEqualTo(role),
() -> assertThat(userRole.getUser())
.extracting("username", "password", "nickname", "profileDescription", "imageUrl", "birthdate",
"lastRequestAt", "gender", "position", "rating", "visitedCnt", "reviewCnt",
"isSeekingTeam", "isTemporaryPassword", "isNotified")
.containsExactly("tester", "password1!", "테스터", null, null, LocalDate.of(1997, 2, 11),
now, Gender.M, Position.NONE, 0F, 0L, 0,
false, false, true)
);
}

private static Stream<Arguments> providerEquals() {
Expand Down
73 changes: 45 additions & 28 deletions src/test/java/com/gabojait/gabojaitspring/domain/user/UserTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,18 @@ void givenValid_whenBuilder_thenReturn() {
User user = createUser(username, password, nickname, gender, birthdate, lastRequestAt, contact);

// then
assertThat(user)
.extracting("username", "password", "nickname", "profileDescription", "imageUrl", "birthdate",
"lastRequestAt", "gender", "position", "rating", "visitedCnt", "reviewCnt", "isSeekingTeam",
"isTemporaryPassword", "isNotified", "contact")
.containsExactly(username, password, nickname, null, null, birthdate, lastRequestAt, gender,
Position.NONE, 0F, 0L, 0, true, false, true, contact);
assertAll(
() -> assertThat(user)
.extracting("username", "password", "nickname", "profileDescription", "imageUrl", "birthdate",
"lastRequestAt", "gender", "position", "rating", "visitedCnt", "reviewCnt",
"isSeekingTeam", "isTemporaryPassword", "isNotified")
.containsExactly(username, password, nickname, null, null, birthdate,
lastRequestAt, gender, Position.NONE, 0F, 0L, 0,
true, false, true),
() -> assertThat(user.getContact())
.extracting("email", "verificationCode", "isVerified")
.containsExactly("tester@gabojait.com", "000000", true)
);
}

@Test
Expand All @@ -66,8 +72,9 @@ void givenNewPassword_whenUpdatePassword_thenReturn() {
.extracting("username", "password", "nickname", "profileDescription", "imageUrl", "birthdate",
"lastRequestAt", "gender", "position", "rating", "visitedCnt", "reviewCnt", "isSeekingTeam",
"isTemporaryPassword", "isNotified")
.containsExactly(username, updatePassword, nickname, null, null, birthdate, lastRequestAt, gender,
Position.NONE, 0F, 0L, 0, true, isTemporaryPassword, true);
.containsExactly(username, updatePassword, nickname, null, null, birthdate,
lastRequestAt, gender, Position.NONE, 0F, 0L, 0, true,
isTemporaryPassword, true);
}

@Test
Expand Down Expand Up @@ -95,8 +102,9 @@ void givenTemporaryPassword_whenUpdatePassword_thenReturn() {
.extracting("username", "password", "nickname", "profileDescription", "imageUrl", "birthdate",
"lastRequestAt", "gender", "position", "rating", "visitedCnt", "reviewCnt", "isSeekingTeam",
"isTemporaryPassword", "isNotified")
.containsExactly(username, updatePassword, nickname, null, null, birthdate, lastRequestAt, gender,
Position.NONE, 0F, 0L, 0, true, isTemporaryPassword, true);
.containsExactly(username, updatePassword, nickname, null, null, birthdate,
lastRequestAt, gender, Position.NONE, 0F, 0L, 0, true,
isTemporaryPassword, true);
}

@Test
Expand All @@ -122,8 +130,9 @@ void givenValid_whenUpdateNickname_thenReturn() {
.extracting("username", "password", "nickname", "profileDescription", "imageUrl", "birthdate",
"lastRequestAt", "gender", "position", "rating", "visitedCnt", "reviewCnt", "isSeekingTeam",
"isTemporaryPassword", "isNotified")
.containsExactly(username, password, updateNickname, null, null, birthdate, lastRequestAt, gender,
Position.NONE, 0F, 0L, 0, true, false, true);
.containsExactly(username, password, updateNickname, null, null, birthdate,
lastRequestAt, gender, Position.NONE, 0F, 0L, 0, true,
false, true);
}

@ParameterizedTest(name = "[{index}] {0}로 회원 알림 여부를 업데이트 한다")
Expand All @@ -148,8 +157,9 @@ void givenValid_whenUpdateIsNotified_thenReturn(boolean isNotified) {
.extracting("username", "password", "nickname", "profileDescription", "imageUrl", "birthdate",
"lastRequestAt", "gender", "position", "rating", "visitedCnt", "reviewCnt", "isSeekingTeam",
"isTemporaryPassword", "isNotified")
.containsExactly(username, password, nickname, null, null, birthdate, lastRequestAt, gender,
Position.NONE, 0F, 0L, 0, true, false, isNotified);
.containsExactly(username, password, nickname, null, null, birthdate,
lastRequestAt, gender, Position.NONE, 0F, 0L, 0, true,
false, isNotified);
}

@Test
Expand All @@ -175,8 +185,9 @@ void givenValid_whenUpdateLastRequestAt_thenReturn() {
.extracting("username", "password", "nickname", "profileDescription", "imageUrl", "birthdate",
"lastRequestAt", "gender", "position", "rating", "visitedCnt", "reviewCnt", "isSeekingTeam",
"isTemporaryPassword", "isNotified")
.containsExactly(username, password, nickname, null, null, birthdate, updateLastRequestAt, gender,
Position.NONE, 0F, 0L, 0, true, false, true);
.containsExactly(username, password, nickname, null, null, birthdate,
updateLastRequestAt, gender, Position.NONE, 0F, 0L, 0, true,
false, true);
}

@ParameterizedTest(name = "[{index}] {0}로 포지션을 업데이트한다")
Expand All @@ -201,8 +212,9 @@ void givenValid_whenUpdatePosition_thenReturn(Position position) {
.extracting("username", "password", "nickname", "profileDescription", "imageUrl", "birthdate",
"lastRequestAt", "gender", "position", "rating", "visitedCnt", "reviewCnt", "isSeekingTeam",
"isTemporaryPassword", "isNotified")
.containsExactly(username, password, nickname, null, null, birthdate, lastRequestAt, gender, position,
0F, 0L, 0, true, false, true);
.containsExactly(username, password, nickname, null, null, birthdate,
lastRequestAt, gender, position, 0F, 0L, 0, true,
false, true);
}

private static Stream<Arguments> providerHasPosition() {
Expand Down Expand Up @@ -253,8 +265,9 @@ void givenValid_whenUpdateProfileDescription_thenReturn() {
.extracting("username", "password", "nickname", "profileDescription", "imageUrl", "birthdate",
"lastRequestAt", "gender", "position", "rating", "visitedCnt", "reviewCnt", "isSeekingTeam",
"isTemporaryPassword", "isNotified")
.containsExactly(username, password, nickname, profileDescription, null, birthdate, lastRequestAt,
gender, Position.NONE, 0F, 0L, 0, true, false, true);
.containsExactly(username, password, nickname, profileDescription, null, birthdate,
lastRequestAt, gender, Position.NONE, 0F, 0L, 0, true,
false, true);
}

@Test
Expand All @@ -280,8 +293,9 @@ void givenValid_whenUpdateImageUrl_thenReturn() {
.extracting("username", "password", "nickname", "profileDescription", "imageUrl", "birthdate",
"lastRequestAt", "gender", "position", "rating", "visitedCnt", "reviewCnt", "isSeekingTeam",
"isTemporaryPassword", "isNotified")
.containsExactly(username, password, nickname, null, imageUrl, birthdate, lastRequestAt, gender,
Position.NONE, 0F, 0L, 0, true, false, true);
.containsExactly(username, password, nickname, null, imageUrl, birthdate,
lastRequestAt, gender, Position.NONE, 0F, 0L, 0, true,
false, true);
}

@ParameterizedTest(name = "[{index}] {0}로 팀 찾기 여부를 업데이트한다")
Expand All @@ -306,8 +320,9 @@ void givenValid_whenUpdateIsSeekingTeam_thenReturn(boolean isSeekingTeam) {
.extracting("username", "password", "nickname", "profileDescription", "imageUrl", "birthdate",
"lastRequestAt", "gender", "position", "rating", "visitedCnt", "reviewCnt", "isSeekingTeam",
"isTemporaryPassword", "isNotified")
.containsExactly(username, password, nickname, null, null, birthdate, lastRequestAt, gender,
Position.NONE, 0F, 0L, 0, isSeekingTeam, false, true);
.containsExactly(username, password, nickname, null, null, birthdate,
lastRequestAt, gender, Position.NONE, 0F, 0L, 0, isSeekingTeam,
false, true);
}

@ParameterizedTest(name = "[{index}] {0}번 회원 프로필을 방문한다")
Expand All @@ -333,8 +348,9 @@ void givenValid_whenVisit_thenReturn(long visitCnt) {
.extracting("username", "password", "nickname", "profileDescription", "imageUrl", "birthdate",
"lastRequestAt", "gender", "position", "rating", "visitedCnt", "reviewCnt", "isSeekingTeam",
"isTemporaryPassword", "isNotified")
.containsExactly(username, password, nickname, null, null, birthdate, lastRequestAt, gender,
Position.NONE, 0F, visitCnt, 0, true, false, true);
.containsExactly(username, password, nickname, null, null, birthdate,
lastRequestAt, gender, Position.NONE, 0F, visitCnt, 0, true,
false, true);
}

private static Stream<Arguments> providerRate() {
Expand Down Expand Up @@ -370,8 +386,9 @@ void givenProvider_whenRate_thenReturn(float[] ratings, float averageRating) {
.extracting("username", "password", "nickname", "profileDescription", "imageUrl", "birthdate",
"lastRequestAt", "gender", "position", "rating", "visitedCnt", "reviewCnt", "isSeekingTeam",
"isTemporaryPassword", "isNotified")
.containsExactly(username, password, nickname, null, null, birthdate, lastRequestAt, gender,
Position.NONE, averageRating, 0L, ratings.length, true, false, true);
.containsExactly(username, password, nickname, null, null, birthdate,
lastRequestAt, gender, Position.NONE, averageRating, 0L, ratings.length, true,
false, true);
}

private static Stream<Arguments> providerEquals() {
Expand Down

0 comments on commit c0cf8b3

Please sign in to comment.