diff --git a/server/build.gradle.kts b/server/build.gradle.kts index fd062c0..c1680af 100644 --- a/server/build.gradle.kts +++ b/server/build.gradle.kts @@ -32,6 +32,7 @@ dependencies { implementation("org.springframework.boot:spring-boot-starter-web") implementation("org.springframework.boot:spring-boot-starter-actuator") implementation("org.springframework.boot:spring-boot-starter-log4j2") + implementation("org.projectlombok:lombok:1.18.20") implementation("io.springfox:springfox-swagger2:3.0.0") implementation("io.springfox:springfox-swagger-ui:3.0.0") implementation("com.github.ulisesbocchio:jasypt-spring-boot-starter:3.0.4") @@ -43,12 +44,14 @@ dependencies { } } - compileOnly("org.projectlombok:lombok") - runtimeOnly("mysql:mysql-connector-java") - annotationProcessor("org.projectlombok:lombok") - testImplementation("org.springframework.boot:spring-boot-starter-test") testImplementation("org.springframework.security:spring-security-test") + testImplementation("org.junit.jupiter:junit-jupiter-api:5.8.1") + + compileOnly("org.projectlombok:lombok") + runtimeOnly("mysql:mysql-connector-java") + testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.8.1") + annotationProcessor("org.projectlombok:lombok") } tasks.withType { 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 0529484..ef83cae 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 @@ -3,10 +3,14 @@ package com.ticketing.server.movie.domain; import com.ticketing.server.global.dto.repository.AbstractEntity; import javax.persistence.Entity; import javax.validation.constraints.NotNull; +import lombok.AllArgsConstructor; import lombok.Getter; +import lombok.NoArgsConstructor; @Entity @Getter +@NoArgsConstructor +@AllArgsConstructor public class Movie extends AbstractEntity { @NotNull diff --git a/server/src/main/java/com/ticketing/server/movie/domain/TicketStatus.java b/server/src/main/java/com/ticketing/server/movie/domain/TicketStatus.java index e02118b..57996c8 100644 --- a/server/src/main/java/com/ticketing/server/movie/domain/TicketStatus.java +++ b/server/src/main/java/com/ticketing/server/movie/domain/TicketStatus.java @@ -6,10 +6,10 @@ import lombok.Getter; @Getter @AllArgsConstructor public enum TicketStatus { - SALE("판매가능"), - SCHEDULED("환불"), - SOLD("판매완료"); + SALE("판매가능"), + SCHEDULED("환불"), + SOLD("판매완료"); - private String name; + private String name; } diff --git a/server/src/main/java/com/ticketing/server/movie/domain/repository/MovieRepository.java b/server/src/main/java/com/ticketing/server/movie/domain/repository/MovieRepository.java index d2021e0..630bd4f 100644 --- a/server/src/main/java/com/ticketing/server/movie/domain/repository/MovieRepository.java +++ b/server/src/main/java/com/ticketing/server/movie/domain/repository/MovieRepository.java @@ -1,10 +1,13 @@ package com.ticketing.server.movie.domain.repository; import com.ticketing.server.movie.domain.Movie; +import java.util.Optional; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; @Repository public interface MovieRepository extends JpaRepository { + Optional findByTitle(String title); + } diff --git a/server/src/test/java/com/ticketing/server/movie/domain/MovieTest.java b/server/src/test/java/com/ticketing/server/movie/domain/MovieTest.java new file mode 100644 index 0000000..864aada --- /dev/null +++ b/server/src/test/java/com/ticketing/server/movie/domain/MovieTest.java @@ -0,0 +1,5 @@ +package com.ticketing.server.movie.domain; + +public class MovieTest { + +} 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 new file mode 100644 index 0000000..c8361e5 --- /dev/null +++ b/server/src/test/java/com/ticketing/server/movie/domain/repository/MovieRepositoryTest.java @@ -0,0 +1,52 @@ +package com.ticketing.server.movie.domain.repository; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import com.ticketing.server.movie.domain.Movie; +import java.util.Optional; +import javax.transaction.Transactional; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.MethodOrderer; +import org.junit.jupiter.api.Order; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestMethodOrder; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.annotation.Rollback; + +@SpringBootTest +@Transactional +@TestMethodOrder(MethodOrderer.OrderAnnotation.class) +public class MovieRepositoryTest { + + @Autowired + MovieRepository movieRepository; + + @Order(1) + @Test + @Rollback(value = false) + @DisplayName("Movie Repository - test saving movie") + void shouldAbleToSaveMovie() { + // given + Movie movie = new Movie("범죄도시 2", 106); + + // when + Movie savedMovie = movieRepository.save(movie); + + // then + assertEquals(movie.getTitle(), savedMovie.getTitle()); + } + + @Order(2) + @Test + @DisplayName("Movie Repository - test finding movie with title") + void ShouldAbleToFindMovieWithTitle() { + // given, when + Optional optionalMovie = movieRepository.findByTitle("범죄도시 2"); + + // then + assertTrue(optionalMovie.isPresent()); + } + +} 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 new file mode 100644 index 0000000..620b7c3 --- /dev/null +++ b/server/src/test/java/com/ticketing/server/movie/service/MovieServiceImplTest.java @@ -0,0 +1,5 @@ +package com.ticketing.server.movie.service; + +public class MovieServiceImplTest { + +}