diff --git a/src/test/java/cz/muni/fi/pa165/icehockeymanager/facades/TeamManagerFacadeImplTest.java b/src/test/java/cz/muni/fi/pa165/icehockeymanager/facades/TeamManagerFacadeImplTest.java index caeac311c6d04a789a36938fb8a88f81e0730802..4936c8743d9c6730640c8d49f13376ba4d558be6 100644 --- a/src/test/java/cz/muni/fi/pa165/icehockeymanager/facades/TeamManagerFacadeImplTest.java +++ b/src/test/java/cz/muni/fi/pa165/icehockeymanager/facades/TeamManagerFacadeImplTest.java @@ -1,6 +1,7 @@ package cz.muni.fi.pa165.icehockeymanager.facades; import cz.muni.fi.pa165.icehockeymanager.config.ApplicationConfig; +import cz.muni.fi.pa165.icehockeymanager.dto.PlayerCreateDTO; import cz.muni.fi.pa165.icehockeymanager.dto.PlayerDTO; import cz.muni.fi.pa165.icehockeymanager.dto.TeamDTO; import cz.muni.fi.pa165.icehockeymanager.exceptions.UnknownPlayerException; @@ -106,6 +107,36 @@ public class TeamManagerFacadeImplTest { verify(playerService).removeTeamFromPlayer(player, team); } + @Test + public void recruitVeteranPlayerNonexistentTeam() { + when(teamService.getTeam(1L)).thenReturn(Optional.empty()); + assertThatExceptionOfType(UnknownTeamException.class).isThrownBy( + () -> teamManagerFacade.recruitVeteranPlayer(1L, 1L) + ); + verify(teamService).getTeam(1L); + } + + @Test + public void recruitVeteranPlayerNonexistentPlayer() { + Team team = buildTeamMock(1L, "Boston Bruins"); + when(teamService.getTeam(1L)).thenReturn(Optional.ofNullable(team)); + when(playerService.findPlayer(1L)).thenReturn(Optional.empty()); + assertThatExceptionOfType(UnknownPlayerException.class).isThrownBy( + () -> teamManagerFacade.recruitVeteranPlayer(1L, 1L) + ); + verify(teamService).getTeam(1L); + } + + @Test + public void recruitNewPlayerNonexistentTeam() { + PlayerCreateDTO player = buildPlayerCreateDtoMock("Zdeno Chara"); + when(teamService.getTeam(1L)).thenReturn(Optional.empty()); + assertThatExceptionOfType(UnknownTeamException.class).isThrownBy( + () -> teamManagerFacade.recruitNewPlayer(player, 1L) + ); + verify(teamService).getTeam(1L); + } + public Team buildTeamMock(Long id, String name) { var team = mock(Team.class); when(team.getId()).thenReturn(id); @@ -119,4 +150,10 @@ public class TeamManagerFacadeImplTest { when(player.getName()).thenReturn(name); return player; } + + private PlayerCreateDTO buildPlayerCreateDtoMock(String name) { + var player = new PlayerCreateDTO(); + player.setName(name); + return player; + } }