Example #1
0
        public void ApplyTournamentStateBellLogicRules()
        {
            // Arrange
            var tournamentRepositoryFake = new Mock <ITournamentRepository>();
            var mapper = Helper.SetupMapper();

            tournamentRepositoryFake.Setup(p => p.Get(It.IsAny <Guid>())).Returns(new Tournament {
                Id             = new Guid(),
                PreplayGameId  = Guid.NewGuid(),
                InplayGameId   = null,
                PostplayGameId = Guid.NewGuid(),
                CluesPerGame   = 1,
                BellCounter    = 0
            });
            var gameLogicFake       = new Mock <IGameLogic>();
            var tournamentLogicMock = new Mock <ITournamentLogic>();

            tournamentLogicMock.Setup(t => t.AddBell(It.IsAny <Tournament>())).Returns(new TournamentStateUpdateModel {
                State = TournamentState.NoPlay
            });
            var tournamentBroadcastFake = new Mock <ITournamentBroadcast>();
            var tournamentController    = new TournamentController(tournamentRepositoryFake.Object, mapper, gameLogicFake.Object, tournamentLogicMock.Object, tournamentBroadcastFake.Object);

            // Act
            var actionResult = tournamentController.AddTournamentStateBell(new Guid());

            // Assert
            tournamentLogicMock.Verify(mocks => mocks.AddBell(It.IsAny <Tournament>()), Times.Once);
        }
Example #2
0
        public async void BroadcastTournamentStateChange_WhenStateChangesDueToBellCounter()
        {
            // Arrange
            var tournamentRepositoryFake = new Mock <ITournamentRepository>();
            var mapper     = Helper.SetupMapper();
            var tournament =
                new Tournament {
                Id                    = new Guid(),
                PreplayGameId         = null,
                InplayGameId          = null,
                PostplayGameId        = null,
                CluesPerGame          = 1,
                BellCounter           = 1,
                BellStateLookupMatrix = new List <BellStateLookup>
                {
                    new BellStateLookup
                    {
                        BellCounter = 1,
                        State       = TournamentState.PrePlay
                    },
                    new BellStateLookup
                    {
                        BellCounter = 2,
                        State       = TournamentState.InPlay
                    },
                    new BellStateLookup
                    {
                        BellCounter = 3,
                        State       = TournamentState.InPlay
                    }
                }
            };

            tournamentRepositoryFake.Setup(p => p.Get(It.IsAny <Guid>())).Returns(tournament);
            var gameLogicFake       = new Mock <IGameLogic>();
            var tournamentLogicFake = new Mock <ITournamentLogic>();

            tournamentLogicFake.Setup(t => t.AddBell(It.IsAny <Tournament>())).Returns(new TournamentStateUpdateModel {
                State = TournamentState.PrePlay
            });
            Game g = new Game();

            tournamentLogicFake.Setup(t => t.SetPreplay(It.IsAny <Tournament>(), out g)).Returns(new Tournament {
                PreplayGameId = new Guid(), InplayGameId = null, PostplayGameId = null
            });
            var tournamentBroadcastMock = new Mock <ITournamentBroadcast>();
            var tournamentController    = new TournamentController(tournamentRepositoryFake.Object, mapper, gameLogicFake.Object, tournamentLogicFake.Object, tournamentBroadcastMock.Object);

            // Act
            var actionResult = await tournamentController.AddTournamentStateBell(new Guid());

            // Assert
            tournamentBroadcastMock.Verify(mocks => mocks.TournamentStateChangeAsync(It.IsAny <Guid>(), It.IsAny <TournamentState>(), It.IsAny <Guid?>(), It.IsAny <Guid?>(), It.IsAny <Guid?>()), Times.Once);
        }
Example #3
0
        public async void ReturnStatusNotFound_WhenTournamentDoesNotExist()
        {
            // Arrange
            var tournamentRepositoryFake = new Mock <ITournamentRepository>();
            var mapper = Helper.SetupMapper();

            tournamentRepositoryFake.Setup(p => p.Get(It.IsAny <Guid>())).Returns <Tournament>(null);
            var gameLogicFake           = new Mock <IGameLogic>();
            var tournamnetLogicFake     = new Mock <ITournamentLogic>();
            var tournamentBroadcastFake = new Mock <ITournamentBroadcast>();
            var tournamentController    = new TournamentController(tournamentRepositoryFake.Object, mapper, gameLogicFake.Object, tournamnetLogicFake.Object, tournamentBroadcastFake.Object);

            // Act
            var actionResult = await tournamentController.AddTournamentStateBell(new Guid());

            // Assert
            Assert.IsType <NotFoundResult>(actionResult);
        }