package de.fd.fh.server.game; import de.fd.fh.server.user.UserId; import dev.morphia.Key; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import static org.junit.jupiter.api.Assertions.*; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; class GameServiceTest { @Test void testCreateGame() { final GameRepository repository = when(mock(GameRepository.class).save(any())) .thenReturn(new Key<>(Game.class, "testCollection", GameId.of("98765"))) .getMock(); final Game game = new Game(); final GameId result = new GameService(repository).createGame(game); assertNotNull(result); assertEquals("98765", result.getIdentifier()); } @Test void given_twoUserIds_when_initGame_should_initGame() { final UserId blackPlayer = UserId.of("12345"); final UserId whitePlayer = UserId.of("98765"); final GameRepository repository = when(mock(GameRepository.class).save(any())) .thenReturn(new Key<>(Game.class, "testCollection", GameId.of("4242"))) .getMock(); final ArgumentCaptor captor = ArgumentCaptor.forClass(Game.class); final GameId result = new GameService(repository).createGame(blackPlayer, whitePlayer); } }