view spring-boot-playground/src/main/java/de/comline/spring/service/MovieService.java @ 8:7ce4367b50bc

Ein echter Unit Test, der eine in-memory H2 als Teil vom Test startet, das Schema mit liquibase erzeugt und nach dem Test wieder stoppt. Das alles ohne die Web Controller zu starten.
author Dirk Olmes <dirk.olmes@codedo.de>
date Thu, 13 Aug 2020 16:51:05 +0200
parents d57d0c6a841b
children 4594ff529ab1
line wrap: on
line source

package de.comline.spring.service;

import javax.transaction.Transactional;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import de.comline.spring.entity.Movie;
import de.comline.spring.repository.MovieRepository;

@Service
public class MovieService {
	@Autowired
	private MovieRepository repository;
	
	@Transactional
	public Movie createMovie(String title) {
		Movie movie = new Movie(title);
		movie = repository.save(movie);
		return movie;
	}
	
	@Transactional
	public String listAllMovies() {
		StringBuilder buf = new StringBuilder(128);
		repository.findAll().forEach(movie -> buf.append(movie.getTitle()).append(","));
		return buf.toString();
	}
}