Ejemplo n.º 1
0
        public async void CreateNewMatchSuccess()
        {
            var matchInsert =
                new DatabaseModel.Match(1, "salt", "hash", "10", 1, null, null, 1, 1, DateTime.Now);
            var matchReturn = new DatabaseModel.Match(1, "salt", "hash", 10.ToString(CultureInfo.InvariantCulture), 1, null, null, 1, 1,
                                                      default(DateTime), 1);

            A.CallTo(() => _fakeMatchRepoServicey.InsertAsync(
                         A <DatabaseModel.Match> .That.Matches(m =>
                                                               m.Hash == matchInsert.Hash &&
                                                               m.Salt == matchInsert.Salt &&
                                                               m.Percentage == matchInsert.Percentage &&
                                                               m.RoundId == matchInsert.RoundId &&
                                                               m.Status == matchInsert.Status
                                                               )
                         )).Returns(matchReturn);

            A.CallTo(() => _fakeHashService.CreateBase64Sha512Hash(A <string> ._, A <string> ._)).Returns("hash");
            A.CallTo(() => _fakeRandomService.GeneratePercentage()).Returns("10");
            A.CallTo(() => _fakeRandomService.GenerateSalt()).Returns("salt");

            A.CallTo(() => _fakedGameModeSettingService.GetSettingForType(GameModeType.JackpotCsgo))
            .Returns(new DatabaseModel.JackpotSetting(0, 0, 0, 0, 0, 0, 0, 0, true, false, ""));
            A.CallTo(() => _fakedGameModeSettingService.Find(A <int> ._, A <GameModeType> ._))
            .Returns(new DatabaseModel.JackpotSetting(0, 0, 0, 0, 0, 0, 0, 0, true, false, ""));

            var jackpotMatchManager = new JackpotMatchManager(
                _fakedRepoServiceFactory,
                _fakeBetService,
                _fakeHashService,
                _fakeRandomService,
                A.Dummy <IJackpotDraftService>(),
                A.Dummy <ILogServiceFactory>(),
                A.Dummy <IBetOrWithdrawQueueManager>(),
                _fakedGameModeSettingService,
                _fakedBetHub,
                _fakedMatchHub,
                A.Dummy <IDiscordService>()
                );
            var match = await jackpotMatchManager.CreateNewMatchAsync(1);


            A.CallTo(() => _fakeMatchRepoServicey.InsertAsync(
                         A <DatabaseModel.Match> .That.Matches(m =>
                                                               m.Hash == matchInsert.Hash &&
                                                               m.Salt == matchInsert.Salt &&
                                                               m.Percentage == matchInsert.Percentage &&
                                                               m.RoundId == matchInsert.RoundId &&
                                                               m.Status == matchInsert.Status
                                                               ))).MustHaveHappened();
            A.CallTo(() => _fakeHashService.CreateBase64Sha512Hash(A <string> ._, A <string> ._)).MustHaveHappened();
            A.CallTo(() => _fakeRandomService.GeneratePercentage()).MustHaveHappened();
            A.CallTo(() => _fakeRandomService.GenerateSalt()).MustHaveHappened();
            Assert.Equal(1, match.Id);
        }
Ejemplo n.º 2
0
        public async void MatchIsClosedSaltAndPercentageIsValidSuccess()
        {
            var matchToReturn = new DatabaseModel.Match(1, "salt", "hash", 10.ToString(CultureInfo.InvariantCulture), 0, null, null, 1, 1,
                                                        DateTime.Now, 1);

            A.CallTo(() => _fakeMatchRepoServicey.GetCurrentMatch()).Returns(matchToReturn);

            A.CallTo(() => _fakedGameModeSettingService.Find(A <int> ._, A <GameModeType> ._))
            .Returns(new DatabaseModel.JackpotSetting(0, 0, 0, 0, 0, 0, 0, 0, true, false, ""));

            A.CallTo(() => _fakeBetService.GetBettedItemsOnMatch(1, matchToReturn.GameModeId)).Returns(new List <Item>
            {
                new Item
                {
                    IconUrl = "imageUrl",
                    Name    = "name1",
                    Value   = 10,
                    Owner   = new User
                    {
                        ImageUrl = "userImage",
                        Name     = "userName",
                        SteamId  = "123456789"
                    }
                }
            });

            var jackpotMatchManager = new JackpotMatchManager(
                _fakedRepoServiceFactory,
                _fakeBetService,
                _fakeHashService,
                _fakeRandomService,
                A.Dummy <IJackpotDraftService>(),
                A.Dummy <ILogServiceFactory>(),
                A.Dummy <IBetOrWithdrawQueueManager>(),
                _fakedGameModeSettingService,
                _fakedBetHub,
                _fakedMatchHub,
                A.Dummy <IDiscordService>()
                );
            var currentJackpotMatch = await jackpotMatchManager.GetCurrentMatch();


            Assert.Equal("hash", currentJackpotMatch.Hash);
            Assert.Equal("salt", currentJackpotMatch.Salt);
            Assert.Equal(10.ToString(CultureInfo.InvariantCulture), currentJackpotMatch.Percentage);
            Assert.Equal(MatchStatus.Closed, currentJackpotMatch.Status);
            Assert.Equal("closed", currentJackpotMatch.ReadableStatus.ToLower());
        }
Ejemplo n.º 3
0
        public async void GetEmptyMatchSuccess()
        {
            var matchToReturn = new DatabaseModel.Match(1, "salt", "hash", 10.ToString(CultureInfo.InvariantCulture), 1, null, null, 1, 1,
                                                        DateTime.Now, 1);

            A.CallTo(() => _fakeMatchRepoServicey.GetCurrentMatch()).Returns(matchToReturn);
            A.CallTo(() => _fakedGameModeSettingService.Find(A <int> ._, A <GameModeType> ._))
            .Returns(new DatabaseModel.JackpotSetting(0, 10000, 0, 0, 0, 0, 0, 0, true, false, ""));
            A.CallTo(() => _fakeBetService.GetBettedItemsOnMatch(1, matchToReturn.GameModeId)).Returns(new List <Item>());

            var jackpotMatchManager = new JackpotMatchManager(
                _fakedRepoServiceFactory,
                _fakeBetService,
                _fakeHashService,
                _fakeRandomService,
                A.Dummy <IJackpotDraftService>(),
                A.Dummy <ILogServiceFactory>(),
                A.Dummy <IBetOrWithdrawQueueManager>(),
                _fakedGameModeSettingService,
                _fakedBetHub,
                _fakedMatchHub,
                A.Dummy <IDiscordService>()
                );
            var currentJackpotMatch = await jackpotMatchManager.GetCurrentMatch();


            Assert.Equal("hash", currentJackpotMatch.Hash);
            Assert.Equal(null, currentJackpotMatch.Salt);
            Assert.Equal(null, currentJackpotMatch.Percentage);
            Assert.Equal(1.ToString(), currentJackpotMatch.RoundId);
            Assert.Equal(MatchStatus.Open, currentJackpotMatch.Status);
            Assert.Equal("open", currentJackpotMatch.ReadableStatus.ToLower());
            Assert.Equal(0, currentJackpotMatch.ItemsInPool.Count);
            Assert.Equal(0, currentJackpotMatch.ValueInPool);
            Assert.Equal(0, currentJackpotMatch.Bets.Count);
            Assert.Equal(10000, currentJackpotMatch.TimeLeft);

            A.CallTo(() => _fakedGameModeSettingService.Find(1, GameModeType.JackpotCsgo)).MustHaveHappened();
        }