Hendrik Jungnitsch
2022-09-28 eb52fa6497b79c97f876857340b6e9873f80843e
exercise
4 Dateien hinzugefügt
167 ■■■■■ Geänderte Dateien
src/main/java/de/gedoplan/seminar/sbt/di/exercise/init/DBInit.java 94 ●●●●● Patch | Ansicht | Raw | Blame | Historie
src/main/java/de/gedoplan/seminar/sbt/di/exercise/repository/BeverageRepository.java 9 ●●●●● Patch | Ansicht | Raw | Blame | Historie
src/test/java/de/gedoplan/seminar/sbt/di/exercise/Exercise04Test.java 31 ●●●●● Patch | Ansicht | Raw | Blame | Historie
src/test/java/de/gedoplan/seminar/sbt/di/exercise/Exercise05Test.java 33 ●●●●● Patch | Ansicht | Raw | Blame | Historie
src/main/java/de/gedoplan/seminar/sbt/di/exercise/init/DBInit.java
Neue Datei
@@ -0,0 +1,94 @@
package de.gedoplan.seminar.sbt.di.exercise.init;
import de.gedoplan.seminar.sbt.di.exercise.domain.Cocktail;
import de.gedoplan.seminar.sbt.di.exercise.domain.CocktailSamples;
import de.gedoplan.seminar.sbt.di.exercise.repository.BeverageRepository;
import de.gedoplan.seminar.sbt.di.exercise.repository.CocktailRepository;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
import java.text.ParseException;
import java.util.List;
import static de.gedoplan.seminar.sbt.di.exercise.domain.CocktailSamples.*;
@Component
public class DBInit {
  private final CocktailRepository cocktailRepository;
  private final BeverageRepository beverageRepository;
  public DBInit(CocktailRepository cocktailRepository, BeverageRepository beverageRepository) {
    this.cocktailRepository = cocktailRepository;
    this.beverageRepository = beverageRepository;
  }
  @PostConstruct
  public void dbInit() throws ParseException {
    beverageRepository.saveAll(CocktailSamples.BEVERAGES);
    cocktailRepository.saveAll(CocktailSamples.COCKTAILS);
    cocktailRepository.saveAll(List.of(Cocktail.builder("3HKS", "3 Holy Kings")
        .ingredient(RUM, 3)
        .ingredient(BRANDY, 2)
        .ingredient(LIMEJUICE, 2)
        .ingredient(HONEY, 2)
        .ingredient(CLOVE, 1)
        .ingredient(PIMENTO, 1)
        .build(),
    Cocktail.builder("ACRM", "Apple Crumple")
        .ingredient(VODKA, 5)
        .ingredient(CARAMELSYRUP, 2)
        .ingredient(CINNAMON, 1)
        .ingredient(LEMONJUICE, 1)
        .ingredient(APPLEJUICE, 10)
        .build(),
    Cocktail.builder("ALTW", "Apple Lemon Twister")
        .ingredient(MINERALWATER, 10)
        .ingredient(APPLEJUICE, 5)
        .ingredient(LIMEJUICE, 5)
        .build(),
   Cocktail.builder("CFRD", "Casual Friday")
        .ingredient(VODKA, 3)
        .ingredient(LIMEJUICE, 2)
        .ingredient(APPLEJUICE, 10)
        .ingredient(GHERKIN, 1)
        .build(),
    Cocktail.builder("EBFR", "Erdbeer Frappé")
        .ingredient(MILK, 10)
        .ingredient(STRAWBERRYPURREE, 2)
        .ingredient(SUGAR, 1)
        .ingredient(VANILLA, 1)
        .build(),
    Cocktail.builder("GINT", "Gin Tonic")
        .ingredient(GIN, 5)
        .ingredient(TONICWATER, 5)
        .build(),
   Cocktail.builder("HLSB", "Hells Bells")
        .ingredient(BATIDA, 4)
        .ingredient(CARAMELSYRUP, 2)
        .ingredient(MILK, 8)
        .ingredient(STRAWBERRYPURREE, 4)
        .build(),
    Cocktail.builder("PKDL", "Pink Dolly")
        .ingredient(VODKA, 4)
        .ingredient(ORANGEJUICE, 8)
        .ingredient(PINEAPPLEJUICE, 4)
        .ingredient(GRENADINE, 1)
        .ingredient(CREAM, 3)
        .ingredient(COCOSYRUP, 0.2)
        .build(),
    Cocktail.builder("WTRZ", "Winterzauber")
        .ingredient(RUM, 1)
        .ingredient(REDWINE, 15)
        .ingredient(CINNAMON, 1)
        .ingredient(SUGAR, 10)
        .ingredient(ORANGEJUICE, 2)
        .ingredient(LIMEJUICE, 0.5)
        .ingredient(APPLEJUICE, 2)
        .build()));
  }
}
src/main/java/de/gedoplan/seminar/sbt/di/exercise/repository/BeverageRepository.java
Neue Datei
@@ -0,0 +1,9 @@
package de.gedoplan.seminar.sbt.di.exercise.repository;
import de.gedoplan.seminar.sbt.di.exercise.domain.Beverage;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface BeverageRepository extends JpaRepository<Beverage, String> {
}
src/test/java/de/gedoplan/seminar/sbt/di/exercise/Exercise04Test.java
Neue Datei
@@ -0,0 +1,31 @@
package de.gedoplan.seminar.sbt.di.exercise;
import de.gedoplan.seminar.sbt.di.exercise.domain.CocktailSamples;
import de.gedoplan.seminar.sbt.di.exercise.service.CocktailService;
import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.web.servlet.MockMvc;
import static org.hamcrest.CoreMatchers.is;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
@AutoConfigureMockMvc
@SpringBootTest
public class Exercise04Test {
    @Autowired
    CocktailService cocktailService;
    @Autowired
    MockMvc mockMvc;
    @Test
    public void test() throws Exception {
        mockMvc.perform(get("/bar/cocktails"))
                .andExpect(jsonPath("$.size()",is(13)));
    }
}
src/test/java/de/gedoplan/seminar/sbt/di/exercise/Exercise05Test.java
Neue Datei
@@ -0,0 +1,33 @@
package de.gedoplan.seminar.sbt.di.exercise;
import de.gedoplan.seminar.sbt.di.exercise.domain.Cocktail;
import de.gedoplan.seminar.sbt.di.exercise.domain.CocktailSamples;
import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.web.servlet.MockMvc;
import java.util.List;
import static org.hamcrest.CoreMatchers.is;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
@AutoConfigureMockMvc
@SpringBootTest
public class Exercise05Test {
    @Autowired
    List<Cocktail> cocktails;
    @Autowired
    MockMvc mockMvc;
    @Test
    public void test() throws Exception {
        mockMvc.perform(get("/bar/cocktails"))
                .andExpect(jsonPath("$.size()",is(13)));
    }
}