Skip to content

Commit

Permalink
test: 각 도메인 Fixture 객체 구현 #114
Browse files Browse the repository at this point in the history
  • Loading branch information
PgmJun committed Aug 3, 2024
1 parent f7b89ee commit 630a4bb
Show file tree
Hide file tree
Showing 8 changed files with 159 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,9 @@ public class BalanceOption {
@ManyToOne(optional = false, fetch = FetchType.LAZY)
@JoinColumn(name = "balance_content_id", nullable = false)
private BalanceContent balanceContent;

public BalanceOption(String name, BalanceContent balanceContent) {
this.name = name;
this.balanceContent = balanceContent;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,15 @@ public class RoomContent extends BaseEntity {
@Column(nullable = false)
private boolean isUsed;

public RoomContent(Room room, BalanceContent balanceContent, int round, LocalDateTime roundEndedAt,
boolean isUsed) {
this.room = room;
this.balanceContent = balanceContent;
this.round = round;
this.roundEndedAt = roundEndedAt;
this.isUsed = isUsed;
}

public boolean isRoundOver(LocalDateTime currentTime) {
return currentTime.isAfter(getRoundEndedAt());
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package ddangkong.support.domain;

import ddangkong.domain.balance.content.BalanceContent;
import ddangkong.domain.balance.content.BalanceContentRepository;
import ddangkong.domain.balance.content.Category;
import ddangkong.domain.balance.room.Room;
import ddangkong.domain.member.Member;
import ddangkong.domain.member.MemberRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class BalanceContentFixture {

@Autowired
private BalanceContentRepository balanceContentRepository;

public BalanceContent createContent() {
BalanceContent balanceContent = new BalanceContent(Category.EXAMPLE, "컨텐츠명");
return balanceContentRepository.save(balanceContent);
}

public BalanceContent createContent(String name) {
BalanceContent balanceContent = new BalanceContent(Category.EXAMPLE, name);
return balanceContentRepository.save(balanceContent);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package ddangkong.support.domain;

import ddangkong.domain.balance.content.BalanceContent;
import ddangkong.domain.balance.content.BalanceContentRepository;
import ddangkong.domain.balance.content.Category;
import ddangkong.domain.balance.option.BalanceOption;
import ddangkong.domain.balance.option.BalanceOptionRepository;
import ddangkong.domain.balance.option.BalanceOptions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class BalanceOptionFixture {

@Autowired
private BalanceOptionRepository balanceOptionRepository;

public BalanceOption createOption(BalanceContent balanceContent) {
BalanceOption balanceOption = new BalanceOption("옵션명", balanceContent);
return balanceOptionRepository.save(balanceOption);
}

public BalanceOption createOption(String name, BalanceContent balanceContent) {
BalanceOption balanceOption = new BalanceOption(name, balanceContent);
return balanceOptionRepository.save(balanceOption);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package ddangkong.support.domain;

import ddangkong.domain.balance.option.BalanceOption;
import ddangkong.domain.balance.vote.BalanceVote;
import ddangkong.domain.balance.vote.BalanceVoteRepository;
import ddangkong.domain.member.Member;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class BalanceVoteFixture {

@Autowired
private BalanceVoteRepository balanceVoteRepository;

public BalanceVote createVote(BalanceOption balanceOption, Member member) {
BalanceVote balanceVote = new BalanceVote(balanceOption, member);
return balanceVoteRepository.save(balanceVote);
}
}
24 changes: 24 additions & 0 deletions backend/src/test/java/ddangkong/support/domain/MemberFixture.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package ddangkong.support.domain;

import ddangkong.domain.balance.room.Room;
import ddangkong.domain.member.Member;
import ddangkong.domain.member.MemberRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class MemberFixture {

@Autowired
private MemberRepository memberRepository;

public Member createMaster(String nickname, Room room) {
Member member = Member.createMaster(nickname, room);
return memberRepository.save(member);
}

public Member createCommon(String nickname, Room room) {
Member member = Member.createCommon(nickname, room);
return memberRepository.save(member);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package ddangkong.support.domain;

import ddangkong.domain.balance.content.BalanceContent;
import ddangkong.domain.balance.room.Room;
import ddangkong.domain.balance.room.RoomContent;
import ddangkong.domain.balance.room.RoomContentRepository;
import java.time.LocalDateTime;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class RoomContentFixture {

@Autowired
private RoomContentRepository roomContentRepository;

public RoomContent createContent(Room room, BalanceContent balanceContent, int round, LocalDateTime roundEndedAt,
boolean isUsed) {
RoomContent roomContent = new RoomContent(room, balanceContent, round, roundEndedAt, isUsed);
return roomContentRepository.save(roomContent);
}
}
25 changes: 25 additions & 0 deletions backend/src/test/java/ddangkong/support/domain/RoomFixture.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package ddangkong.support.domain;

import ddangkong.domain.balance.content.Category;
import ddangkong.domain.balance.room.Room;
import ddangkong.domain.balance.room.RoomRepository;
import ddangkong.domain.balance.room.RoomStatus;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class RoomFixture {

@Autowired
private RoomRepository roomRepository;

public Room createNewRoom() {
Room room = Room.createNewRoom();
return roomRepository.save(room);
}

public Room createRoom(int totalRound, int currentRound, int timeLimit, RoomStatus status, Category category) {
Room room = new Room(totalRound, currentRound, timeLimit, status, category);
return roomRepository.save(room);
}
}

0 comments on commit 630a4bb

Please sign in to comment.