package com.flexpoker.game.command.aggregate;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import java.util.UUID;
import org.junit.Test;
import com.flexpoker.game.command.commands.CreateGameCommand;
import com.flexpoker.game.command.events.GameCreatedEvent;
public class CreateNewGameTest {
@Test
public void testCreateNewGameSuccess() {
CreateGameCommand createGameCommand = new CreateGameCommand("test", 2,
2, UUID.randomUUID(), 10);
Game game = new DefaultGameFactory().createNew(createGameCommand);
assertEquals(1, game.fetchAppliedEvents().size());
assertEquals(1, game.fetchNewEvents().size());
assertEquals(GameCreatedEvent.class,
game.fetchNewEvents().get(0).getClass());
GameCreatedEvent gameCreatedEvent = (GameCreatedEvent) game
.fetchNewEvents().get(0);
assertNotNull(gameCreatedEvent.getAggregateId());
assertEquals(1, gameCreatedEvent.getVersion());
}
}