diff --git a/src/test/java/cz/muni/fi/pa165/icehockeymanager/services/TeamServiceImplTest.java b/src/test/java/cz/muni/fi/pa165/icehockeymanager/services/TeamServiceImplTest.java index 89cb5ac8cd570e9d3fab2562424a9e54c03b4c93..af1659e9333700dd3bc0161fdf17e6f6019f0e49 100644 --- a/src/test/java/cz/muni/fi/pa165/icehockeymanager/services/TeamServiceImplTest.java +++ b/src/test/java/cz/muni/fi/pa165/icehockeymanager/services/TeamServiceImplTest.java @@ -240,6 +240,65 @@ class TeamServiceImplTest { assertThat(team.getHomeGames()).containsOnly(game); } + @Test + public void removeAwayGameOneOfOne() { + Team team = buildTeam("Florida Panthers"); + Game game = buildGame(); + team.setAwayGames(Set.of(game)); + teamService.removeAwayGame(team, game); + assertThat(team.getAwayGames()).isEmpty(); + verify(teamDao).update(team); + } + + @Test + public void removeAwayGameOneOfMany() { + Team team = buildTeam("Florida Panthers"); + Game game = buildGame(); + game.setId(2L); + Game game2 = buildGame(); + team.setAwayGames(Set.of(game, game2)); + teamService.removeAwayGame(team, game); + assertThat(team.getAwayGames()).containsOnly(game2); + verify(teamDao).update(team); + } + + @Test + public void removeAwayGameGameIsNull() { + Team team = buildTeam("Florida Panthers"); + assertThatExceptionOfType(NullPointerException.class).isThrownBy( + () -> teamService.addAwayGame(team, null) + ); + assertThat(team.getAwayGames()).isEmpty(); + } + + @Test + public void removeAwayGameTeamIsNull() { + Game game = buildGame(); + assertThatExceptionOfType(NullPointerException.class).isThrownBy( + () -> teamService.addAwayGame(null, game) + ); + } + + @Test + public void removeAwayGameNotPresent() { + Team team = buildTeam("Florida Panthers"); + Game game = buildGame(); + game.setId(2L); + Game game2 = buildGame(); + team.setAwayGames(Set.of(game)); + assertThatExceptionOfType(UnknownGameException.class).isThrownBy( + () -> teamService.removeAwayGame(team, game2) + ); + assertThat(team.getAwayGames()).containsOnly(game); + } + + @Test + public void createTeam() { + Team team = buildTeam("Florida Panthers"); + teamService.createTeam(team); + verify(teamDao).create(team); + } + private Game buildGame() { var game = new Game(); game.setId(1L);