-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor: startMatch 메서드 수정 및 검증 추가 #488
Conversation
…chStrategy 내부로 옮겼습니다. 또한 startMatch 를 하기 위한 조건을 추가했습니다. LeagueAt 전에는 match 를 시작할 수 없습니다.
@@ -169,7 +169,7 @@ public CommonResponse<String> startMatch( | |||
StartMatchCommand startMatchCommand = | |||
new StartMatchCommand(clubToken, leagueId, matchId); | |||
MatchOperationHandler matchOperationFacade = matchFacade.getMatchOperationHandler(leagueId); | |||
matchOperationFacade.startMatch(startMatchCommand); | |||
matchOperationFacade.startMatch(leagueId, startMatchCommand); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
startMatchCommand
record 안에 leagueId가 있는데 leagueId 를 추가로 넣은 이유가 있나요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Command 안에 leagueId가 있었군요! command 객체 내부에 있는 leagueId를 사용하겠습니다!
public void startMatch(MatchStrategy matchStrategy, Long leagueId, Long matchId) { | ||
League league = leagueReader.readLeagueById(leagueId); | ||
if (LocalDateTime.now().isBefore(league.getLeagueAt())) { | ||
throw new CannotStartMatchException(league.getLeagueId(), league.getLeagueAt()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Exception의 이름을 리그 시작 시간 전이라는 의미를 가지게 만드는게 좋을 것 같아요! 😄
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
넵 반영해서 수정하겠습니다!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
고생하셨습니다 😄
PR에 대한 설명 🔍
startMatch 메서드의 중복되는 코드를 해결하기 위해 AbstractMatchStrategy 내부로 옮겼습니다. 또한 startMatch 를 하기 위한 조건을 추가했습니다. LeagueAt 전에는 match 를 시작할 수 없습니다.
변경된 사항 📝
FreeSinglesMatchStrategy
,TournamentSinglesMatchStrategy
의 startMatch 메서드가 동일한 문제를 해결했습니다.해당 메서드를
AbstractSinglesMatchStrategy
로 옮겼습니다.Doubles Match 의 경우에도 동일한 문제가 있어
AbstractSinglesMatchStrategy
로 옮겼습니다.현재 시간이 LeagueAt 이전이라면 예외를 발생합니다.
CannotStartMatchException
에러 메시지는 아래와 같습니다.
PR에서 중점적으로 확인되어야 하는 사항