public void ReturnSubscriberGameResults_WhenSubscriberGameResultsExists()
        {
            // Arrange
            var tournamentRepositoryFake = new Mock <ITournamentRepository>();
            var mapper = Helper.SetupMapper();

            tournamentRepositoryFake.Setup(p => p.Get(It.IsAny <Guid>())).Returns(new Tournament());
            tournamentRepositoryFake.Setup(p => p.GetGame(It.IsAny <Guid>(), It.IsAny <Guid>())).Returns(new Game());
            tournamentRepositoryFake.Setup(p => p.GetSubscriber(It.IsAny <Guid>(), It.IsAny <Guid>())).Returns(new Subscriber());
            tournamentRepositoryFake.Setup(p => p.GetSubscriberGameResult(It.IsAny <Guid>(), It.IsAny <Guid>(), It.IsAny <Guid>())).Returns(new SubscriberGameResult());
            tournamentRepositoryFake.Setup(p => p.GetAllSubscriberGameResults(It.IsAny <Guid>(), It.IsAny <Guid>())).Returns(new List <SubscriberGameResult>());
            var gameLogicFake = new Mock <IGameLogic>();

            gameLogicFake.Setup(p => p.BuildGameRankings(It.IsAny <List <SubscriberGameResult> >(), It.IsAny <int?>())).Returns(new List <SubscriberRankModel>());
            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  = tournamentController.GetTournamentSubscriberGameResults(new Guid(), new Guid(), new Guid());
            var contentResult = actionResult as OkObjectResult;

            // Assert
            Assert.IsType <SubscriberGameResultModel>(contentResult.Value);
        }
        public void ReturnStatusNotFound_WhenSubscriberDoesNotExist()
        {
            // Arrange
            var tournamentRepositoryFake = new Mock <ITournamentRepository>();
            var mapper = Helper.SetupMapper();

            tournamentRepositoryFake.Setup(p => p.Get(It.IsAny <Guid>())).Returns(new Tournament());
            tournamentRepositoryFake.Setup(p => p.GetGame(It.IsAny <Guid>(), It.IsAny <Guid>())).Returns(new Game());
            tournamentRepositoryFake.Setup(p => p.GetSubscriber(It.IsAny <Guid>(), It.IsAny <Guid>())).Returns <Subscriber>(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 = tournamentController.GetTournamentSubscriberGameResults(new Guid(), new Guid(), new Guid());

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