#31 loan: get terms list

This commit is contained in:
haerong22
2023-01-18 00:00:20 +09:00
parent 5518075b62
commit 2df31f15ef
4 changed files with 47 additions and 4 deletions

View File

@@ -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<List<TermsDto.Response>> getAll() {
return ok(termsService.getAll());
}
}

View File

@@ -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<TermsDto.Response> getAll();
}

View File

@@ -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<TermsDto.Response> getAll() {
List<Terms> termsList = termsRepository.findAll();
return termsList.stream().map(t -> modelMapper.map(t, TermsDto.Response.class)).collect(Collectors.toList());
}
}

View File

@@ -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<Terms> list = Arrays.asList(entityA, entityB);
when(termsRepository.findAll()).thenReturn(list);
List<TermsDto.Response> actual = termsService.getAll();
assertThat(actual.size()).isSameAs(list.size());
}
}