Skip to content

Commit

Permalink
[TEST] refacotr offer domain
Browse files Browse the repository at this point in the history
  • Loading branch information
nogamsung committed Jan 23, 2024
1 parent 180ffd5 commit 0054ade
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 57 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package com.gabojait.gabojaitspring.domain.offer;

import com.gabojait.gabojaitspring.domain.team.Team;
import com.gabojait.gabojaitspring.domain.team.TeamMember;
import com.gabojait.gabojaitspring.domain.user.Contact;
import com.gabojait.gabojaitspring.domain.user.Gender;
import com.gabojait.gabojaitspring.domain.user.Position;
Expand All @@ -21,9 +20,9 @@
class OfferTest {

private static Stream<Arguments> providerBuilder() {
User user = createDefaultUser("tester@gabojait.com", "000000", "tester", "password1!", "테스터일", Gender.M,
User user = createDefaultUser("tester", "테스터일",
LocalDate.of(1997, 2, 11), LocalDateTime.now());
Team team = createTeam("가보자잇", (byte) 3);
Team team = createTeam("가보자잇");

return Stream.of(
Arguments.of(OfferedBy.LEADER, Position.BACKEND, user, team),
Expand All @@ -40,29 +39,18 @@ void givenProvider_whenBuilder_thenReturn(OfferedBy offeredBy, Position position

// then
assertThat(offer)
.extracting("offeredBy", "position", "isAccepted", "isDeleted")
.containsExactly(offeredBy, position, null, false);
}

private static Stream<Arguments> providerAccept() {
User user = createDefaultUser("tester@gabojait.com", "000000", "tester", "password1!", "테스터일", Gender.M,
LocalDate.of(1997, 2, 11), LocalDateTime.now());
Team team = createTeam("가보자잇", (byte) 3);

return Stream.of(
Arguments.of(OfferedBy.LEADER, Position.BACKEND, user, team),
Arguments.of(OfferedBy.USER, Position.BACKEND, user, team)
);
.extracting("offeredBy", "position", "isAccepted", "isDeleted", "user", "team")
.containsExactly(offeredBy, position, null, false, user, team);
}

@ParameterizedTest(name = "[{index}] {0}가 제안을 수락한다.")
@EnumSource(OfferedBy.class)
@DisplayName("제안을 수락한다.")
void givenEnum_whenAccept_thenReturn(OfferedBy offeredBy) {
// given
User user = createDefaultUser("tester@gabojait.com", "000000", "tester", "password1!", "테스터일", Gender.M,
User user = createDefaultUser("tester", "테스터일",
LocalDate.of(1997, 2, 11), LocalDateTime.now());
Team team = createTeam("가보자잇", (byte) 3);
Team team = createTeam("가보자잇");
Position position = Position.BACKEND;

Offer offer = createOffer(offeredBy, position, user, team);
Expand All @@ -81,9 +69,9 @@ void givenEnum_whenAccept_thenReturn(OfferedBy offeredBy) {
@DisplayName("제안을 거절한다.")
void givenEnum_whenDecline_thenReturn(OfferedBy offeredBy) {
// given
User user = createDefaultUser("tester@gabojait.com", "000000", "tester", "password1!", "테스터일", Gender.M,
User user = createDefaultUser("tester", "테스터일",
LocalDate.of(1997, 2, 11), LocalDateTime.now());
Team team = createTeam("가보자잇", (byte) 3);
Team team = createTeam("가보자잇");
Position position = Position.BACKEND;

Offer offer = createOffer(offeredBy, position, user, team);
Expand All @@ -102,9 +90,9 @@ void givenEnum_whenDecline_thenReturn(OfferedBy offeredBy) {
@DisplayName("제안을 취소한다.")
void givenEnum_whenCancel_thenReturn(OfferedBy offeredBy) {
// given
User user = createDefaultUser("tester@gabojait.com", "000000", "tester", "password1!", "테스터일", Gender.M,
User user = createDefaultUser("tester", "테스터일",
LocalDate.of(1997, 2, 11), LocalDateTime.now());
Team team = createTeam("가보자잇", (byte) 3);
Team team = createTeam("가보자잇");
Position position = Position.BACKEND;

Offer offer = createOffer(offeredBy, position, user, team);
Expand All @@ -119,21 +107,21 @@ void givenEnum_whenCancel_thenReturn(OfferedBy offeredBy) {
}

private static Stream<Arguments> providerEquals() {
User user = createDefaultUser("tester@gabojait.com", "000000", "tester", "password1!", "테스터", Gender.M,
User user = createDefaultUser("tester", "테스터",
LocalDate.of(1997, 2, 11), LocalDateTime.now());
Team team = createTeam("가보자잇", (byte) 3);
Team team = createTeam("가보자잇");
Offer offer = createOffer(OfferedBy.USER, Position.BACKEND, user, team);

User user1 = createDefaultUser("tester@gabojait.com", "000000", "tester1", "password1!", "테스터", Gender.M,
User user1 = createDefaultUser("tester1", "테스터",
LocalDate.of(1997, 2, 11), LocalDateTime.now());
Offer userOffer1 = createOffer(OfferedBy.USER, Position.BACKEND, user1, team);
User user2 = createDefaultUser("tester@gabojait.com", "000000", "tester2", "password1!", "테스터", Gender.M,
User user2 = createDefaultUser("tester2", "테스터",
LocalDate.of(1997, 2, 11), LocalDateTime.now());
Offer userOffer2 = createOffer(OfferedBy.USER, Position.BACKEND, user2, team);

Team team1 = createTeam("가보자잇1", (byte) 3);
Team team1 = createTeam("가보자잇1");
Offer teamOffer1 = createOffer(OfferedBy.USER, Position.BACKEND, user, team1);
Team team2 = createTeam("가보자잇2", (byte) 3);
Team team2 = createTeam("가보자잇2");
Offer teamOffer2 = createOffer(OfferedBy.USER, Position.BACKEND, user, team2);

Offer isAccepted1 = createOffer(OfferedBy.USER, Position.BACKEND, user, team);
Expand Down Expand Up @@ -173,9 +161,9 @@ void givenProvider_whenEquals_thenReturn(Offer offer, Object object, boolean res
}

private static Stream<Arguments> providerHashCode() {
User user = createDefaultUser("tester@gabojait.com", "000000", "tester", "password1!", "테스터", Gender.M,
User user = createDefaultUser("tester", "테스터",
LocalDate.of(1997, 2, 11), LocalDateTime.now());
Team team = createTeam("가보자잇", (byte) 3);
Team team = createTeam("가보자잇");

return Stream.of(
Arguments.of(
Expand Down Expand Up @@ -212,47 +200,34 @@ private static Offer createOffer(OfferedBy offeredBy, Position position, User us
.build();
}

private static TeamMember createTeamMember(Position position, boolean isLeader, User user, Team team) {
return TeamMember.builder()
.position(position)
.isLeader(isLeader)
.team(team)
.user(user)
.build();
}

private static Team createTeam(String projectName, byte maxCnt) {
private static Team createTeam(String projectName) {
return Team.builder()
.projectName(projectName)
.projectDescription("프로젝트 설명입니다.")
.expectation("열정적인 팀원을 구합니다.")
.openChatUrl("kakao.com/o/gabojait")
.designerMaxCnt(maxCnt)
.backendMaxCnt(maxCnt)
.frontendMaxCnt(maxCnt)
.managerMaxCnt(maxCnt)
.designerMaxCnt((byte) 3)
.backendMaxCnt((byte) 3)
.frontendMaxCnt((byte) 3)
.managerMaxCnt((byte) 3)
.build();
}

private static User createDefaultUser(String email,
String verificationCode,
String username,
String password,
private static User createDefaultUser(String username,
String nickname,
Gender gender,
LocalDate birthdate,
LocalDateTime lastRequestAt) {
Contact contact = Contact.builder()
.email(email)
.verificationCode(verificationCode)
.email("tester@gabojait.com")
.verificationCode("000000")
.build();
contact.verified();

return User.builder()
.username(username)
.password(password)
.password("password1!")
.nickname(nickname)
.gender(gender)
.gender(Gender.M)
.birthdate(birthdate)
.lastRequestAt(lastRequestAt)
.contact(contact)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ private static Stream<Arguments> providerGetText() {
);
}

@ParameterizedTest(name = "[{index}] {0} 제안자 텍스트는 {1}다.")
@ParameterizedTest(name = "[{index}] {0} 제안자 텍스트는 {1}다")
@MethodSource("providerGetText")
@DisplayName("제안자 텍스트를 반환한다.")
void givenProvider_whenGetText_thenReturn(OfferedBy offeredBy, String text) {
Expand All @@ -29,7 +29,7 @@ void givenProvider_whenGetText_thenReturn(OfferedBy offeredBy, String text) {
}

@Test
@DisplayName("전체 제안자를 반환한다.")
@DisplayName("전체 제안자를 반환이 정상 작동한다")
void values() {
// given & when
OfferedBy[] offeredBys = OfferedBy.values();
Expand All @@ -45,7 +45,7 @@ private static Stream<Arguments> providerValueOf() {
);
}

@ParameterizedTest(name = "[{index}] {0} 값을 {1} 제안자로 변환한다.")
@ParameterizedTest(name = "[{index}] {0} 값을 {1} 제안자로 변환한다")
@MethodSource("providerValueOf")
@DisplayName("제안자 값을 반환한다.")
void givenProvider_whenValueOf_thenReturn(String value, OfferedBy offeredBy) {
Expand All @@ -54,7 +54,7 @@ void givenProvider_whenValueOf_thenReturn(String value, OfferedBy offeredBy) {
}

@Test
@DisplayName("잘못된 값을 제안자로 변환하면 예외가 발생한다.")
@DisplayName("잘못된 값을 제안자로 변환하면 예외가 발생한다")
void givenInvalid_whenValueOf_thenThrow() {
// given
String value = "INVALID";
Expand Down

0 comments on commit 0054ade

Please sign in to comment.