feat: Movie ServiceImpl Test - get movies

This commit is contained in:
손창현
2022-06-14 06:59:49 +09:00
parent 4c0c1ae324
commit 0203043850
8 changed files with 60 additions and 19 deletions

View File

@@ -1,11 +1,9 @@
package com.ticketing.server.movie.application;
import com.ticketing.server.movie.application.response.MovieListResponse;
import com.ticketing.server.movie.service.dto.MovieDTO;
import com.ticketing.server.movie.service.interfaces.MovieService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import java.util.List;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpStatus;

View File

@@ -1,6 +1,6 @@
package com.ticketing.server.movie.application.response;
import com.ticketing.server.movie.service.dto.MovieDTO;
import com.ticketing.server.movie.service.dto.MovieDto;
import io.swagger.annotations.ApiModelProperty;
import java.util.List;
import lombok.AccessLevel;
@@ -12,10 +12,10 @@ import lombok.Getter;
public class MovieListResponse {
@ApiModelProperty(value = "영화 제목")
private List<MovieDTO> movieDTOs;
private List<MovieDto> movieDtos;
public static MovieListResponse from(List<MovieDTO> movieDTOs) {
return new MovieListResponse(movieDTOs);
public static MovieListResponse from(List<MovieDto> movieDtos) {
return new MovieListResponse(movieDtos);
}
}

View File

@@ -1,7 +1,7 @@
package com.ticketing.server.movie.domain;
import com.ticketing.server.global.dto.repository.AbstractEntity;
import com.ticketing.server.movie.service.dto.MovieDTO;
import com.ticketing.server.movie.service.dto.MovieDto;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.validation.constraints.NotNull;
@@ -22,8 +22,8 @@ public class Movie extends AbstractEntity {
@NotNull
private Integer runningTime;
public MovieDTO toDTO() {
return new MovieDTO(this.getId(), this.title);
public MovieDto toDto() {
return new MovieDto(this.title);
}
}

View File

@@ -2,9 +2,8 @@ package com.ticketing.server.movie.service;
import com.ticketing.server.movie.domain.Movie;
import com.ticketing.server.movie.domain.repository.MovieRepository;
import com.ticketing.server.movie.service.dto.MovieDTO;
import com.ticketing.server.movie.service.dto.MovieDto;
import com.ticketing.server.movie.service.interfaces.MovieService;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import lombok.RequiredArgsConstructor;
@@ -18,11 +17,11 @@ public class MovieServiceImpl implements MovieService {
private final MovieRepository movieRepository;
public List<MovieDTO> getMovies() {
public List<MovieDto> getMovies() {
List<Movie> movies = movieRepository.findByDeletedAt(null);
return movies.stream()
.map(movie -> movie.toDTO())
.map(movie -> movie.toDto())
.collect(Collectors.toList());
}

View File

@@ -3,9 +3,7 @@ package com.ticketing.server.movie.service.dto;
import lombok.AllArgsConstructor;
@AllArgsConstructor
public class MovieDTO {
private long id;
public class MovieDto {
private String title;

View File

@@ -1,10 +1,10 @@
package com.ticketing.server.movie.service.interfaces;
import com.ticketing.server.movie.service.dto.MovieDTO;
import com.ticketing.server.movie.service.dto.MovieDto;
import java.util.List;
public interface MovieService {
List<MovieDTO> getMovies();
List<MovieDto> getMovies();
}

View File

@@ -27,7 +27,7 @@ public class MovieRepositoryTest {
@Order(1)
@Test
@Rollback(value = false)
@DisplayName("Movie Repository - test saving movie")
@DisplayName("Movie Repository Test - saving movie")
void shouldAbleToSaveMovie() {
// given
Movie movie = new Movie("범죄도시 2", 106);

View File

@@ -1,9 +1,55 @@
package com.ticketing.server.movie.service;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.mockito.Mockito.when;
import com.ticketing.server.movie.domain.Movie;
import com.ticketing.server.movie.domain.repository.MovieRepository;
import com.ticketing.server.movie.service.dto.MovieDto;
import java.util.ArrayList;
import java.util.List;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
@ExtendWith(MockitoExtension.class)
public class MovieServiceImplTest {
Movie movie;
MovieDto movieDto;
List<Movie> movies = new ArrayList<>();
List<MovieDto> movieDtos = new ArrayList<>();
@Mock
MovieRepository movieRepository;
@InjectMocks
MovieServiceImpl movieService;
@BeforeEach
void init() {
movie = new Movie("범죄도시2", 106);
movieDto = movie.toDto();
movies.add(movie);
movieDtos.add(movieDto);
}
@Test
@DisplayName("Movie Service Test - get movies")
void shouldAbleToGetMovies() {
// given
when(movieRepository.findByDeletedAt(null)).thenReturn(movies);
// when
List<MovieDto> movieDtoList = movieService.getMovies();
// then
assertFalse(movieDtoList.isEmpty());
}
}