public async Task UserDepositItemsSuccess() { _offerMinmalInfo.OfferSend.SteamOffer.ItemsToGive.Clear(); var offerTransInsertWithId = new DatabaseModel.OfferTransaction(1, 14, new decimal(196.91), true, "12345", DateTime.Today, 75); var userInsertRes = new DatabaseModel.User("userSteamId", "name", "img", "tradeLink", DateTime.Today, DateTime.Today, false, null, 1); A.CallTo(() => _fakedUserRepoService.FindAsync("userSteamId")).Returns(userInsertRes); var botLookRes = Task.FromResult(new DatabaseModel.Bot("botSteamId", "botName", 14)); A.CallTo(() => _fakedBotRepoService.FindAsync("botSteamId")).Returns(botLookRes); A.CallTo(() => _fakedOfferTranascrionRepoService.InsertAsync(A <DatabaseModel.OfferTransaction> .That.Matches(o => o.IsDeposit && o.Accepted > DateTime.Today && o.BotId == 14 && o.UserId == 1 && o.Id == 0 && o.TotalValue == new decimal(196.91) ), A <ITransactionWrapper> ._)).Returns(offerTransInsertWithId); await _offerService.DepositSteamOfferAsync(_offerMinmalInfo); A.CallTo(() => _fakedOfferTranascrionRepoService.InsertAsync(A <DatabaseModel.OfferTransaction> .That.Matches(o => o.IsDeposit && o.Accepted > DateTime.Today && o.BotId == 14 && o.UserId == 1 && o.Id == 0 && o.TotalValue == new decimal(196.91) ), A <ITransactionWrapper> ._)).MustHaveHappened(); A.CallTo(() => _fakedItemInOfferTransactionRepoService.InsertAsync(A <List <DatabaseModel.ItemInOfferTransaction> > .That.Matches(i => i.Where(o => o.OfferTransactionId == 75 && o.ItemDescriptionId == 1 && o.Value == new decimal(11.22)).ToList().Count == 2 && i.Where(o => o.OfferTransactionId == 75 && o.ItemDescriptionId == 3 && o.Value == new decimal(78.00)).ToList().Count == 1 && i.Where(o => o.OfferTransactionId == 75 && o.ItemDescriptionId == 4 && o.Value == new decimal(5.47)).ToList().Count == 1 && i.Where(o => o.OfferTransactionId == 75 && o.ItemDescriptionId == 2 && o.Value == new decimal(45.5)).ToList().Count == 2 ), A <ITransactionWrapper> ._)).MustHaveHappened(); A.CallTo(() => _fakedTransactionWrapper.Commit()).MustHaveHappened(); }
private async Task <DatabaseModel.OfferTransaction> InsertTransactionOfferAndItemsInTransactionOffer ( ITransactionWrapper transactionWrapper, DatabaseModel.OfferTransaction offerTransactions, List <DatabaseModel.ItemInOfferTransaction> itemsInOffer ) { var offerInsertResponse = await _offerRepoService.InsertAsync(offerTransactions, transactionWrapper); foreach (var itemInOfferTransaction in itemsInOffer) { itemInOfferTransaction.OfferTransactionId = offerInsertResponse.Id; } await _itemInOfferTransactionRepoService.InsertAsync(itemsInOffer, transactionWrapper); transactionWrapper?.Commit(); return(offerInsertResponse); }
public async Task CreateMatchSuccess() { var percentage = 12.4587; var percentageAsString = percentage.ToString(CultureInfo.InvariantCulture); var salt = "randomSalt"; var hash = "ranomdHash"; var creatorUser = new DatabaseModel.User("steamId", "name", "imageURl", null, DateTime.Today, DateTime.Today, false, null, 10); var gameMode = new DatabaseModel.GameMode { CurrentSettingId = 1, IsEnabled = true, Type = GameModeHelper.GetStringFromType(GameModeType.CoinFlip), Id = 2 }; A.CallTo(() => _fakedMongoDbPreHashRepoService.Find(hash, creatorUser.SteamId)).Returns(new MongoDbModels.PreHash { Created = DateTime.Today, Hash = hash, Percentage = percentageAsString, Salt = salt, UserSteamId = creatorUser.SteamId }); A.CallTo(() => _fakedRandomService.GenerateNewGuidAsString()).Returns("GUID"); A.CallTo(() => _fakedJackpotSettingRepoService.InsertAsync(A <DatabaseModel.JackpotSetting> ._, A <ITransactionWrapper> ._)) .Returns(new DatabaseModel.JackpotSetting { Id = 1 }); A.CallTo(() => _fakedUserRepoService.FindAsync(creatorUser.SteamId)).Returns(creatorUser); A.CallTo(() => _fakedGameModeRepoSerivce.Find(GameModeHelper.GetStringFromType(GameModeType.CoinFlip))).Returns(gameMode); var itemList = new List <AssetAndDescriptionId> { new AssetAndDescriptionId { AssetId = "assetId1", DescriptionId = 1 } }; await _coinFlipService.CreateMatch(creatorUser.SteamId, true, itemList, _defaultSetting); A.CallTo(() => _fakedCoinFlipMatchRepoService.InsertAsync(A <DatabaseModel.CoinFlip> .That.Matches (m => m.Created > DateTime.Today && m.CreatorUserId == 10 && m.CreatorIsHead == true && m.Hash == hash && m.Salt == salt && m.Percentage == percentageAsString && m.RoundId == "GUID" && m.Status == (int)MatchStatus.Open && m.TimerStarted == null && m.WinnerId == null && m.GameModeId == 2 && m.SettingId == 1 ), A <ITransactionWrapper> ._ )).MustHaveHappened(); A.CallTo(() => _fakedMongoDbPreHashRepoService.Find(hash, creatorUser.SteamId)).MustHaveHappened(); A.CallTo(() => _fakedUserRepoService.FindAsync(creatorUser.SteamId)).MustHaveHappened(); A.CallTo(() => _fakedTransactionWrapper.Commit()).MustHaveHappened(); A.CallTo(() => _fakedBetService.PlaceBetOnCoinFlipMatch ( A <DatabaseModel.CoinFlip> ._, A <JackpotMatchSetting> ._, A <DatabaseModel.GameMode> ._, A <int> ._, A <List <DatabaseModel.Item> > ._, A <DatabaseModel.User> ._, A <List <DatabaseModel.ItemDescription> > ._ )).MustHaveHappened(); A.CallTo(() => _fakedMongoDbJackpotRepoService.InsertAsync(A <MongoDbModels.JackpotMatch> ._)).MustHaveHappened(); }