From 32ee4445ba22d9113cda4f968d418a403891808c Mon Sep 17 00:00:00 2001
From: Erik Moravec <xmoravec@fi.muni.cz>
Date: Wed, 28 Apr 2021 17:31:46 +0200
Subject: [PATCH] Test: add home and away test implemented and buildGame
 implemented

---
 .../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 ee66316..8031823 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
@@ -3,6 +3,7 @@ package cz.muni.fi.pa165.icehockeymanager.services;
 import cz.muni.fi.pa165.icehockeymanager.config.ApplicationConfig;
 import cz.muni.fi.pa165.icehockeymanager.dao.TeamDao;
 import cz.muni.fi.pa165.icehockeymanager.exceptions.PlayerNotInTeamException;
+import cz.muni.fi.pa165.icehockeymanager.model.Game;
 import cz.muni.fi.pa165.icehockeymanager.model.Player;
 import cz.muni.fi.pa165.icehockeymanager.model.Team;
 import org.junit.jupiter.api.Test;
@@ -134,6 +135,64 @@ class TeamServiceImplTest {
         );
     }
 
+    @Test
+    public void addHomeGame() {
+        Team team = buildTeam("Florida Panthers");
+        Game game = buildGame();
+        teamService.addHomeGame(team, game);
+        assertThat(team.getHomeGames()).hasSameElementsAs(List.of(game));
+        verify(teamDao).update(team);
+    }
+
+    @Test
+    public void addHomeGameGameIsNull() {
+        Team team = buildTeam("Florida Panthers");
+        assertThatExceptionOfType(NullPointerException.class).isThrownBy(
+                () -> teamService.addHomeGame(team, null)
+        );
+        assertThat(team.getHomeGames()).hasSameElementsAs(List.of());
+    }
+
+    @Test
+    public void addHomeGameTeamIsNull() {
+        Game game = buildGame();
+        assertThatExceptionOfType(NullPointerException.class).isThrownBy(
+                () -> teamService.addHomeGame(null, game)
+        );
+    }
+
+    @Test
+    public void addAwayGame() {
+        Team team = buildTeam("Florida Panthers");
+        Game game = buildGame();
+        teamService.addAwayGame(team, game);
+        assertThat(team.getHomeGames()).hasSameElementsAs(List.of(game));
+        verify(teamDao).update(team);
+    }
+
+    @Test
+    public void addAwayGameGameIsNull() {
+        Team team = buildTeam("Florida Panthers");
+        assertThatExceptionOfType(NullPointerException.class).isThrownBy(
+                () -> teamService.addAwayGame(team, null)
+        );
+        assertThat(team.getHomeGames()).hasSameElementsAs(List.of());
+    }
+
+    @Test
+    public void addAwayGameTeamIsNull() {
+        Game game = buildGame();
+        assertThatExceptionOfType(NullPointerException.class).isThrownBy(
+                () -> teamService.addAwayGame(null, game)
+        );
+    }
+
+    private Game buildGame() {
+        var game = new Game();
+        game.setId(1L);
+        return game;
+    }
+
     private Team buildTeam(String name) {
         var team = new Team();
         team.setName(name);
-- 
GitLab