#31 loan: get terms list
This commit is contained in:
@@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user