Ejemplo n.º 1
0
        public void TestGetAllUsers()
        {
            var generalBetsRepository      = new Mock <IGeneralBetsRepository>();
            var betsRepository             = new Mock <IBetsRepository>();
            var usersRepository            = new Mock <IUsersRepository>();
            List <MundialitoUser> allUsers = new List <MundialitoUser>();

            allUsers.Add(new MundialitoUser()
            {
                Id = "1"
            });
            allUsers.Add(new MundialitoUser()
            {
                Id = "2"
            });
            usersRepository.Setup(item => item.AllUsers()).Returns(allUsers);
            var usersRetriver = new UsersRetriver(betsRepository.Object, generalBetsRepository.Object, usersRepository.Object, new DateTimeProvider());
            var res           = usersRetriver.GetAllUsers();

            Assert.AreEqual(2, res.Count);
        }
Ejemplo n.º 2
0
        public void TestGetAllUsersYesterdayPoints()
        {
            var dateTimeProvider           = new Mock <IDateTimeProvider>();
            var usersRepository            = new Mock <IUsersRepository>();
            var generalBetsRepository      = new Mock <IGeneralBetsRepository>();
            List <MundialitoUser> allUsers = new List <MundialitoUser>();
            var user1 = CreateMundialtoUser("1");
            var user2 = CreateMundialtoUser("2");
            var user3 = CreateMundialtoUser("3");

            allUsers.Add(user1);
            allUsers.Add(user2);
            allUsers.Add(user3);
            usersRepository.Setup(item => item.AllUsers()).Returns(allUsers);

            var betsRepository = new Mock <IBetsRepository>();
            var clsoedGame1    = new Game()
            {
                GameId = 1, Date = (DateTime.UtcNow).Subtract(TimeSpan.FromDays(1)), HomeTeam = homeTeam, AwayTeam = awayTeam
            };
            var clsoedGame2 = new Game()
            {
                GameId = 2, Date = (DateTime.UtcNow).Subtract(TimeSpan.FromDays(2)), HomeTeam = homeTeam, AwayTeam = awayTeam
            };

            List <Bet> allBets = new List <Bet>();

            allBets.Add(new Bet(user1, clsoedGame1)
            {
                AwayScore = 1, HomeScore = 1, Points = 5
            });
            allBets.Add(new Bet(user1, clsoedGame2)
            {
                AwayScore = 1, HomeScore = 1, Points = 1
            });
            allBets.Add(new Bet(user2, clsoedGame1)
            {
                AwayScore = 2, HomeScore = 0, Points = 1
            });
            allBets.Add(new Bet(user2, clsoedGame2)
            {
                AwayScore = 0, HomeScore = 1, Points = 7
            });
            allBets.Add(new Bet(user3, clsoedGame1)
            {
                AwayScore = 2, HomeScore = 0, Points = 2
            });
            allBets.Add(new Bet(user3, clsoedGame2)
            {
                AwayScore = 0, HomeScore = 1, Points = 10
            });
            betsRepository.Setup(item => item.GetBets()).Returns(allBets);

            dateTimeProvider.Setup(item => item.UTCNow).Returns(clsoedGame2.Date);
            var usersRetriver = new UsersRetriver(betsRepository.Object, generalBetsRepository.Object, usersRepository.Object, dateTimeProvider.Object);
            var res           = usersRetriver.GetAllUsers();

            Assert.AreEqual(0, res.Sum(user => user.YesterdayPoints));

            dateTimeProvider = new Mock <IDateTimeProvider>();
            dateTimeProvider.Setup(item => item.UTCNow).Returns(DateTime.UtcNow.Subtract(TimeSpan.FromHours(1)));
            usersRetriver = new UsersRetriver(betsRepository.Object, generalBetsRepository.Object, usersRepository.Object, dateTimeProvider.Object);
            res           = usersRetriver.GetAllUsers();
            Assert.AreEqual(18, res.Sum(user => user.YesterdayPoints));

            dateTimeProvider = new Mock <IDateTimeProvider>();
            dateTimeProvider.Setup(item => item.UTCNow).Returns(DateTime.UtcNow.AddDays(1));
            usersRetriver = new UsersRetriver(betsRepository.Object, generalBetsRepository.Object, usersRepository.Object, dateTimeProvider.Object);
            res           = usersRetriver.GetAllUsers();
            Assert.AreEqual(26, res.Sum(user => user.YesterdayPoints));
        }
Ejemplo n.º 3
0
        public void TestGetAllUsersWithOpenBets()
        {
            var usersRepository            = new Mock <IUsersRepository>();
            List <MundialitoUser> allUsers = new List <MundialitoUser>();
            var user1 = CreateMundialtoUser("1");
            var user2 = CreateMundialtoUser("2");
            var user3 = CreateMundialtoUser("3");

            allUsers.Add(user1);
            allUsers.Add(user2);
            allUsers.Add(user3);
            usersRepository.Setup(item => item.AllUsers()).Returns(allUsers);

            var        betsRepository = new Mock <IBetsRepository>();
            var        openGame       = CreateOpenGame(1);
            var        clsoedGame     = CreateClosedGame(2);
            List <Bet> allBets        = new List <Bet>();

            allBets.Add(new Bet(user1, openGame)
            {
                AwayScore = 1, HomeScore = 1
            });
            allBets.Add(new Bet(user1, clsoedGame)
            {
                AwayScore = 1, HomeScore = 1, Points = 5, ResultWin = true
            });
            allBets.Add(new Bet(user2, openGame)
            {
                AwayScore = 2, HomeScore = 0
            });
            allBets.Add(new Bet(user2, clsoedGame)
            {
                AwayScore = 0, HomeScore = 1
            });
            allBets.Add(new Bet(user3, openGame)
            {
                AwayScore = 2, HomeScore = 0
            });
            allBets.Add(new Bet(user3, clsoedGame)
            {
                AwayScore = 0, HomeScore = 1
            });
            betsRepository.Setup(item => item.GetBets()).Returns(allBets);

            var generalBetsRepository     = new Mock <IGeneralBetsRepository>();
            List <GeneralBet> generalBets = new List <GeneralBet>();

            generalBets.Add(new GeneralBet()
            {
                User = user1, IsResolved = true, PlayerPoints = 12, TeamPoints = 0, WinningTeamId = 1
            });
            generalBets.Add(new GeneralBet()
            {
                User = user2, IsResolved = false, WinningTeamId = 1
            });
            generalBets.Add(new GeneralBet()
            {
                User = user3, IsResolved = true, PlayerPoints = 12, TeamPoints = 12, WinningTeamId = 2
            });
            generalBetsRepository.Setup(rep => rep.GetGeneralBets()).Returns(generalBets);

            var usersRetriver = new UsersRetriver(betsRepository.Object, generalBetsRepository.Object, usersRepository.Object, new DateTimeProvider());
            var res           = usersRetriver.GetAllUsers();

            Assert.AreEqual(3, res.Count);
            Assert.AreEqual(17, res[0].Points);
            Assert.AreEqual(1, res[0].Results);
            Assert.AreEqual(0, res[1].Points);
            Assert.AreEqual(24, res[2].Points);
        }