feat: MovieRepositoryTest - save, find with title

This commit is contained in:
손창현
2022-05-31 17:11:38 +09:00
parent 952c1a1070
commit 30ef20be3f
7 changed files with 80 additions and 8 deletions

View File

@@ -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<Test> {

View File

@@ -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

View File

@@ -6,10 +6,10 @@ import lombok.Getter;
@Getter
@AllArgsConstructor
public enum TicketStatus {
SALE("판매가능"),
SCHEDULED("환불"),
SOLD("판매완료");
SALE("판매가능"),
SCHEDULED("환불"),
SOLD("판매완료");
private String name;
private String name;
}

View File

@@ -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<Movie, Long> {
Optional<Movie> findByTitle(String title);
}

View File

@@ -0,0 +1,5 @@
package com.ticketing.server.movie.domain;
public class MovieTest {
}

View File

@@ -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<Movie> optionalMovie = movieRepository.findByTitle("범죄도시 2");
// then
assertTrue(optionalMovie.isPresent());
}
}

View File

@@ -0,0 +1,5 @@
package com.ticketing.server.movie.service;
public class MovieServiceImplTest {
}