From 0db2d78deea061cc348ceaaf63e8961c13a989c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=86=90=EC=B0=BD=ED=98=84?= Date: Tue, 31 May 2022 18:37:17 +0900 Subject: [PATCH] =?UTF-8?q?refactor:=20Movie=20Entity=20-=20=EC=98=81?= =?UTF-8?q?=ED=99=94=20=EC=A0=9C=EB=AA=A9=20unique=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ticketing/server/movie/domain/Movie.java | 10 ++++++---- .../domain/repository/MovieRepositoryTest.java | 11 +++++++++++ .../repository/MovieTimesRepositoryTest.java | 5 +++++ .../domain/repository/SeatRepositoryTest.java | 5 +++++ .../repository/TheaterRepositoryTest.java | 18 ++++++++++++++++++ .../repository/TicketRepositoryTest.java | 5 +++++ .../movie/service/MovieServiceImplTest.java | 4 ++++ 7 files changed, 54 insertions(+), 4 deletions(-) create mode 100644 server/src/test/java/com/ticketing/server/movie/domain/repository/MovieTimesRepositoryTest.java create mode 100644 server/src/test/java/com/ticketing/server/movie/domain/repository/SeatRepositoryTest.java create mode 100644 server/src/test/java/com/ticketing/server/movie/domain/repository/TheaterRepositoryTest.java create mode 100644 server/src/test/java/com/ticketing/server/movie/domain/repository/TicketRepositoryTest.java diff --git a/server/src/main/java/com/ticketing/server/movie/domain/Movie.java b/server/src/main/java/com/ticketing/server/movie/domain/Movie.java index ef83cae..4c6e377 100644 --- a/server/src/main/java/com/ticketing/server/movie/domain/Movie.java +++ b/server/src/main/java/com/ticketing/server/movie/domain/Movie.java @@ -1,6 +1,7 @@ package com.ticketing.server.movie.domain; import com.ticketing.server.global.dto.repository.AbstractEntity; +import javax.persistence.Column; import javax.persistence.Entity; import javax.validation.constraints.NotNull; import lombok.AllArgsConstructor; @@ -13,10 +14,11 @@ import lombok.NoArgsConstructor; @AllArgsConstructor public class Movie extends AbstractEntity { - @NotNull - private String title; + @NotNull + @Column(unique = true) + private String title; - @NotNull - private Integer runningTime; + @NotNull + private Integer runningTime; } diff --git a/server/src/test/java/com/ticketing/server/movie/domain/repository/MovieRepositoryTest.java b/server/src/test/java/com/ticketing/server/movie/domain/repository/MovieRepositoryTest.java index c8361e5..7a59195 100644 --- a/server/src/test/java/com/ticketing/server/movie/domain/repository/MovieRepositoryTest.java +++ b/server/src/test/java/com/ticketing/server/movie/domain/repository/MovieRepositoryTest.java @@ -1,6 +1,7 @@ package com.ticketing.server.movie.domain.repository; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; import com.ticketing.server.movie.domain.Movie; @@ -49,4 +50,14 @@ public class MovieRepositoryTest { assertTrue(optionalMovie.isPresent()); } + @Order(3) + @Test + @DisplayName("Movie Repository - test finding movie that doesn't exist") + void ShouldNotAbleToFindMovie() { + // given, when + Optional optionalMovie = movieRepository.findByTitle("존재하지 않는 영화"); + + // then + assertFalse(optionalMovie.isPresent()); + } } diff --git a/server/src/test/java/com/ticketing/server/movie/domain/repository/MovieTimesRepositoryTest.java b/server/src/test/java/com/ticketing/server/movie/domain/repository/MovieTimesRepositoryTest.java new file mode 100644 index 0000000..912ff57 --- /dev/null +++ b/server/src/test/java/com/ticketing/server/movie/domain/repository/MovieTimesRepositoryTest.java @@ -0,0 +1,5 @@ +package com.ticketing.server.movie.domain.repository; + +public class MovieTimesRepositoryTest { + +} diff --git a/server/src/test/java/com/ticketing/server/movie/domain/repository/SeatRepositoryTest.java b/server/src/test/java/com/ticketing/server/movie/domain/repository/SeatRepositoryTest.java new file mode 100644 index 0000000..70ee9b6 --- /dev/null +++ b/server/src/test/java/com/ticketing/server/movie/domain/repository/SeatRepositoryTest.java @@ -0,0 +1,5 @@ +package com.ticketing.server.movie.domain.repository; + +public class SeatRepositoryTest { + +} diff --git a/server/src/test/java/com/ticketing/server/movie/domain/repository/TheaterRepositoryTest.java b/server/src/test/java/com/ticketing/server/movie/domain/repository/TheaterRepositoryTest.java new file mode 100644 index 0000000..e2acd16 --- /dev/null +++ b/server/src/test/java/com/ticketing/server/movie/domain/repository/TheaterRepositoryTest.java @@ -0,0 +1,18 @@ +package com.ticketing.server.movie.domain.repository; + +import javax.transaction.Transactional; +import org.junit.jupiter.api.MethodOrderer; +import org.junit.jupiter.api.TestMethodOrder; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +@Transactional +@TestMethodOrder(MethodOrderer.OrderAnnotation.class) +public class TheaterRepositoryTest { + + @Autowired + TheaterRepository theaterRepository; + + +} diff --git a/server/src/test/java/com/ticketing/server/movie/domain/repository/TicketRepositoryTest.java b/server/src/test/java/com/ticketing/server/movie/domain/repository/TicketRepositoryTest.java new file mode 100644 index 0000000..152aee6 --- /dev/null +++ b/server/src/test/java/com/ticketing/server/movie/domain/repository/TicketRepositoryTest.java @@ -0,0 +1,5 @@ +package com.ticketing.server.movie.domain.repository; + +public class TicketRepositoryTest { + +} diff --git a/server/src/test/java/com/ticketing/server/movie/service/MovieServiceImplTest.java b/server/src/test/java/com/ticketing/server/movie/service/MovieServiceImplTest.java index 620b7c3..f3d75e6 100644 --- a/server/src/test/java/com/ticketing/server/movie/service/MovieServiceImplTest.java +++ b/server/src/test/java/com/ticketing/server/movie/service/MovieServiceImplTest.java @@ -1,5 +1,9 @@ package com.ticketing.server.movie.service; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; + +@ExtendWith(MockitoExtension.class) public class MovieServiceImplTest { }