diff --git a/loan/src/main/java/com/example/loan/controller/TermsController.java b/loan/src/main/java/com/example/loan/controller/TermsController.java index fb5b7939..aa721941 100644 --- a/loan/src/main/java/com/example/loan/controller/TermsController.java +++ b/loan/src/main/java/com/example/loan/controller/TermsController.java @@ -4,10 +4,9 @@ import com.example.loan.dto.ResponseDto; import com.example.loan.dto.TermsDto; import com.example.loan.service.TermsService; import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import java.util.List; @RestController @RequiredArgsConstructor @@ -22,4 +21,9 @@ public class TermsController extends AbstractController { ) { return ok(termsService.create(request)); } + + @GetMapping + public ResponseDto> getAll() { + return ok(termsService.getAll()); + } } diff --git a/loan/src/main/java/com/example/loan/service/TermsService.java b/loan/src/main/java/com/example/loan/service/TermsService.java index 0a4e1063..71bcc47e 100644 --- a/loan/src/main/java/com/example/loan/service/TermsService.java +++ b/loan/src/main/java/com/example/loan/service/TermsService.java @@ -2,7 +2,11 @@ package com.example.loan.service; import com.example.loan.dto.TermsDto; +import java.util.List; + public interface TermsService { TermsDto.Response create(TermsDto.Request request); + + List getAll(); } diff --git a/loan/src/main/java/com/example/loan/service/TermsServiceImpl.java b/loan/src/main/java/com/example/loan/service/TermsServiceImpl.java index 9e245696..4d9c18f2 100644 --- a/loan/src/main/java/com/example/loan/service/TermsServiceImpl.java +++ b/loan/src/main/java/com/example/loan/service/TermsServiceImpl.java @@ -7,6 +7,9 @@ import lombok.RequiredArgsConstructor; import org.modelmapper.ModelMapper; import org.springframework.stereotype.Service; +import java.util.List; +import java.util.stream.Collectors; + @Service @RequiredArgsConstructor public class TermsServiceImpl implements TermsService { @@ -22,4 +25,11 @@ public class TermsServiceImpl implements TermsService { return modelMapper.map(created, TermsDto.Response.class); } + + @Override + public List getAll() { + List termsList = termsRepository.findAll(); + + return termsList.stream().map(t -> modelMapper.map(t, TermsDto.Response.class)).collect(Collectors.toList()); + } } diff --git a/loan/src/test/java/com/example/loan/service/TermsServiceTest.java b/loan/src/test/java/com/example/loan/service/TermsServiceTest.java index 52cda3bd..9dee6f1a 100644 --- a/loan/src/test/java/com/example/loan/service/TermsServiceTest.java +++ b/loan/src/test/java/com/example/loan/service/TermsServiceTest.java @@ -12,8 +12,12 @@ import org.mockito.Spy; import org.mockito.junit.jupiter.MockitoExtension; import org.modelmapper.ModelMapper; +import java.util.Arrays; +import java.util.List; + import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; +import static org.assertj.core.api.InstanceOfAssertFactories.list; import static org.mockito.Mockito.when; @ExtendWith(MockitoExtension.class) @@ -48,4 +52,25 @@ class TermsServiceTest { assertThat(actual.getTermsDetailUrl()).isSameAs(entity.getTermsDetailUrl()); } + + @Test + void Should_ReturnAllResponseOfExistTermsEntities_When_RequestTermsList() { + Terms entityA = Terms.builder() + .name("대출 이용약관 1") + .termsDetailUrl("https://terms.com/loan") + .build(); + + Terms entityB = Terms.builder() + .name("대출 이용약관 2") + .termsDetailUrl("https://terms.com/loan2") + .build(); + + List list = Arrays.asList(entityA, entityB); + + when(termsRepository.findAll()).thenReturn(list); + + List actual = termsService.getAll(); + + assertThat(actual.size()).isSameAs(list.size()); + } } \ No newline at end of file