From 22419625ea838fd0a7385c843115508b795718f8 Mon Sep 17 00:00:00 2001
From: Erik Moravec <xmoravec@fi.muni.cz>
Date: Wed, 28 Apr 2021 17:59:59 +0200
Subject: [PATCH] test: added tests for remove away game and createTeam

---
 .../services/TeamServiceImplTest.java         | 59 +++++++++++++++++++
 1 file changed, 59 insertions(+)

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 89cb5ac..af1659e 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);
-- 
GitLab