From 44131a9bdbc7868f02870ec5281b7550f7fa7f17 Mon Sep 17 00:00:00 2001
From: Erik Moravec <xmoravec@fi.muni.cz>
Date: Wed, 28 Apr 2021 18:19:13 +0200
Subject: [PATCH] test: added tests for delete game and update game score

---
 .../services/GameServiceImplTest.java         | 42 +++++++++++++++++++
 1 file changed, 42 insertions(+)

diff --git a/src/test/java/cz/muni/fi/pa165/icehockeymanager/services/GameServiceImplTest.java b/src/test/java/cz/muni/fi/pa165/icehockeymanager/services/GameServiceImplTest.java
index c28c6de..0f9774e 100644
--- a/src/test/java/cz/muni/fi/pa165/icehockeymanager/services/GameServiceImplTest.java
+++ b/src/test/java/cz/muni/fi/pa165/icehockeymanager/services/GameServiceImplTest.java
@@ -74,6 +74,43 @@ class GameServiceImplTest {
         verify(gameDao).read(1L);
     }
 
+    @Test
+    public void deleteGame() {
+        Game game = buildGame();
+        gameService.deleteGame(game);
+        verify(gameDao).delete(game);
+    }
+
+    @Test
+    public void updateGameScoreHomeWinning() {
+        Game game = buildGameWithTeams();
+        gameService.updateGameScore(game, 1, 0);
+        assertThat(game.getHomeTeamScore()).isEqualTo(1);
+        assertThat(game.getAwayTeamScore()).isEqualTo(0);
+        assertThat(game.getWinner()).isEqualTo(game.getHomeTeam());
+        verify(gameDao).update(game);
+    }
+
+    @Test
+    public void updateGameScoreAwayWinning() {
+        Game game = buildGameWithTeams();
+        gameService.updateGameScore(game, 1, 2);
+        assertThat(game.getHomeTeamScore()).isEqualTo(1);
+        assertThat(game.getAwayTeamScore()).isEqualTo(2);
+        assertThat(game.getWinner()).isEqualTo(game.getAwayTeam());
+        verify(gameDao).update(game);
+    }
+
+    @Test
+    public void updateGameScoreDraw() {
+        Game game = buildGameWithTeams();
+        gameService.updateGameScore(game, 100, 100);
+        assertThat(game.getHomeTeamScore()).isEqualTo(100);
+        assertThat(game.getAwayTeamScore()).isEqualTo(100);
+        assertThat(game.getWinner()).isNull();
+        verify(gameDao).update(game);
+    }
+
     private Team buildTeam(String name) {
         return buildTeam(1L, name);
     }
@@ -85,6 +122,11 @@ class GameServiceImplTest {
         return team;
     }
 
+    private Game buildGameWithTeams() {
+        var teamOne = buildTeam(1L, "Vancouver Canucks");
+        var teamTwo = buildTeam(2L, "Calgary Flames");
+        return buildGame(1L, teamTwo, teamOne, teamOne, 1, 2, "2021-02-01 16:00 GMT");
+    }
     private Game buildGame() {
         var game = new Game();
         game.setId(1L);
-- 
GitLab