Skip to content

Commit

Permalink
refactor: TypedAnswerValidatorFactory로 수정
Browse files Browse the repository at this point in the history
  • Loading branch information
donghoony committed Nov 16, 2024
1 parent e77c54f commit fb27b4c
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
@RequiredArgsConstructor(access = AccessLevel.PROTECTED)
public class ReviewValidator {

private final AnswerValidatorFactory answerValidatorFactory;
private final TypedAnswerValidatorFactory typedAnswerValidatorFactory;

private final SectionRepository sectionRepository;
private final QuestionRepository questionRepository;
Expand All @@ -36,7 +36,7 @@ public void validate(Review review) {

private void validateAnswer(List<Answer> answers) {
for (Answer answer : answers) {
answerValidatorFactory.getAnswerValidator(answer.getClass())
typedAnswerValidatorFactory.getAnswerValidator(answer.getClass())
.validate(answer);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

@Component
@RequiredArgsConstructor(access = AccessLevel.PROTECTED)
public class AnswerValidatorFactory {
public class TypedAnswerValidatorFactory {

private final List<TypedAnswerValidator> validators;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import reviewme.review.domain.Answer;
import reviewme.review.domain.CheckboxAnswer;

class TypedAnswerValidatorFactoryTest {
class TypedTypedAnswerValidatorFactoryTest {

private final TypedAnswerValidator validator = new TypedAnswerValidator() {

Expand All @@ -19,14 +19,15 @@ public boolean supports(Class<? extends Answer> answerClass) {

@Override
public void validate(Answer answer) {
// no-op
}
};

@Test
void 지원하는_타입에_따른_밸리데이터를_가져온다() {
// given
List<TypedAnswerValidator> validators = List.of(validator);
AnswerValidatorFactory factory = new AnswerValidatorFactory(validators);
TypedAnswerValidatorFactory factory = new TypedAnswerValidatorFactory(validators);

// when
TypedAnswerValidator actual = factory.getAnswerValidator(CheckboxAnswer.class);
Expand All @@ -38,7 +39,7 @@ public void validate(Answer answer) {
@Test
void 지원하지_않는_타입에_대한_밸리데이터_요청_시_예외가_발생한다() {
// given
AnswerValidatorFactory factory = new AnswerValidatorFactory(List.of());
TypedAnswerValidatorFactory factory = new TypedAnswerValidatorFactory(List.of());

// when, then
assertThatThrownBy(() -> factory.getAnswerValidator(CheckboxAnswer.class))
Expand Down

0 comments on commit fb27b4c

Please sign in to comment.