From 8d38787114d2f16c6fb3567c3650d0968df33d28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrej=20=C5=A0imurka?= <492781@mail.muni.cz> Date: Mon, 17 Apr 2023 00:12:43 +0200 Subject: [PATCH] Race and season jpa repository tests --- race/pom.xml | 5 ++ .../pa165/race/rest/RaceRepositoryTest.java | 49 +++++++++++++++++++ .../pa165/race/rest/SeasonRepositoryTest.java | 40 +++++++++++++++ 3 files changed, 94 insertions(+) create mode 100644 race/src/test/java/cz/muni/pa165/race/rest/RaceRepositoryTest.java create mode 100644 race/src/test/java/cz/muni/pa165/race/rest/SeasonRepositoryTest.java diff --git a/race/pom.xml b/race/pom.xml index 266c650e..5a7b3ced 100644 --- a/race/pom.xml +++ b/race/pom.xml @@ -48,6 +48,11 @@ <artifactId>spring-boot-starter-data-jpa</artifactId> <version>3.0.4</version> </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <scope>test</scope> + </dependency> </dependencies> <properties> <maven.compiler.source>17</maven.compiler.source> diff --git a/race/src/test/java/cz/muni/pa165/race/rest/RaceRepositoryTest.java b/race/src/test/java/cz/muni/pa165/race/rest/RaceRepositoryTest.java new file mode 100644 index 00000000..b6da03fc --- /dev/null +++ b/race/src/test/java/cz/muni/pa165/race/rest/RaceRepositoryTest.java @@ -0,0 +1,49 @@ +package cz.muni.pa165.race.rest; + +import cz.muni.pa165.race.data.model.Race; +import cz.muni.pa165.race.data.repository.RaceRepository; +import org.junit.jupiter.api.Assertions; +import static org.junit.jupiter.api.Assertions.assertEquals; +import org.junit.jupiter.api.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; +import org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager; +import org.springframework.test.context.junit4.SpringRunner; + +@DataJpaTest +public class RaceRepositoryTest { + + @Autowired + private TestEntityManager entityManager; + + @Autowired + private RaceRepository raceRepository; + + @Test + public void saveTest() { + Race race = RaceTestUtil.getDaoRace(); + Race saved = raceRepository.save(race); + Assertions.assertEquals(race, saved); + Assertions.assertEquals(entityManager.find(Race.class, 1L).getId(), 1); + } + + @Test + public void getSavedEntityTest() { + Race race = RaceTestUtil.getDaoRace(); + Race saved = raceRepository.save(race); + var savedId = saved.getId(); + Race found = raceRepository.findById(savedId).get(); + Assertions.assertAll( + () -> assertEquals(found.getRaceInfo().getName(), race.getRaceInfo().getName()), + () -> assertEquals(found.getRaceInfo().getLocation(), race.getRaceInfo().getLocation()), + () -> assertEquals(found.getRaceInfo().getPrizePool(), race.getRaceInfo().getPrizePool()), + () -> assertEquals(found.getDriver1().getDriverId(), race.getDriver1().getDriverId()), + () -> assertEquals(found.getDriver1().getCarId(), race.getDriver1().getCarId()), + () -> assertEquals(found.getDriver1().getFinalPosition(), race.getDriver1().getFinalPosition()), + () -> assertEquals(found.getDriver2().getDriverId(), race.getDriver2().getDriverId()), + () -> assertEquals(found.getDriver2().getCarId(), race.getDriver2().getCarId()), + () -> assertEquals(found.getDriver2().getFinalPosition(), race.getDriver2().getFinalPosition())); + } + +} diff --git a/race/src/test/java/cz/muni/pa165/race/rest/SeasonRepositoryTest.java b/race/src/test/java/cz/muni/pa165/race/rest/SeasonRepositoryTest.java new file mode 100644 index 00000000..0bd3acc2 --- /dev/null +++ b/race/src/test/java/cz/muni/pa165/race/rest/SeasonRepositoryTest.java @@ -0,0 +1,40 @@ +package cz.muni.pa165.race.rest; + +import cz.muni.pa165.race.data.model.Season; +import cz.muni.pa165.race.data.repository.SeasonRepository; +import org.junit.jupiter.api.Assertions; +import static org.junit.jupiter.api.Assertions.assertEquals; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; +import org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager; + +@DataJpaTest +public class SeasonRepositoryTest { + + @Autowired + private TestEntityManager entityManager; + + @Autowired + private SeasonRepository seasonRepository; + + @Test + public void saveTest() { + Season season = SeasonTestUtil.getDaoSeason(); + Season saved = seasonRepository.save(season); + Assertions.assertEquals(season, saved); + Assertions.assertEquals(entityManager.find(Season.class, 1L).getId(), 1); + } + + @Test + public void getSavedEntityTest() { + Season season = SeasonTestUtil.getDaoSeason(); + Season saved = seasonRepository.save(season); + var savedId = saved.getId(); + Season found = seasonRepository.findById(savedId).get(); + Assertions.assertAll( + () -> assertEquals(found.getSeasonYear(), season.getSeasonYear()), + () -> assertEquals(found.getRaces(), season.getRaces()) + ); + } +} -- GitLab