public async void UserDepositSuccess() { var listOfDepositItems = new List <Item> { new Item { AssetId = "assetId1", AppId = 730, ContextId = "2", MarketHashName = "weapon1" }, new Item { AssetId = "assetId2", AppId = 730, ContextId = "2", MarketHashName = "weapon2" }, new Item { AssetId = "assetId3", AppId = 730, ContextId = "2", MarketHashName = "weapon3" }, new Item { AssetId = "assetId4", AppId = 730, ContextId = "2", MarketHashName = "weapon1" }, }; var itemDescriptions = new List <DatabaseModel.ItemDescription> { new DatabaseModel.ItemDescription("weapon1", new decimal(1), "730", "2", "img", true, 1), new DatabaseModel.ItemDescription("weapon2", new decimal(2), "730", "2", "img", true, 2), new DatabaseModel.ItemDescription("weapon3", new decimal(3), "730", "2", "img", true, 3), }; var botStack = new Stack <DatabaseModel.Bot>(); botStack.Push(new DatabaseModel.Bot("botSteamId", "botName")); var steamInventory = new GetPlayerSteamInventoryResponse { PlayerInventory = new PlayerResponseItems { Items = { listOfDepositItems } } }; A.CallTo(() => _fakedSteamServiceClient.GetPlayerSteamInventoryAsync(A <GetPlayerSteamInventoryRequest> ._)).Returns(steamInventory); A.CallTo(() => _fakedSettingsRepoService.GetSettingsAsync()).Returns(new DatabaseModel.Settings(10, 0, 0, DateTime.Today, 20)); A.CallTo(() => _fakedBotService.GetAvalibleBotsForDeposit(A <DatabaseModel.User> ._, A <List <DatabaseModel.Item> > ._)).Returns(botStack); A.CallTo(() => _fakedItemDescRepoService.FindAsync(A <List <string> > ._)).Returns(itemDescriptions); var respose = await _steamService.MakeDepositOfferAsync(_realUser.SteamId, listOfDepositItems); Assert.Equal(1, respose.Count); A.CallTo(() => _fakedSteamServiceClient.MakeOfferAsync(A <MakeOfferRequest> .That.Matches( offer => offer.SendItems == false && offer.Items.Count == 4 && offer.User.SteamId == _realUser.SteamId && offer.BotName == "botName" ))) .MustHaveHappened(); }
public void AddToCache(string steamId, GetPlayerSteamInventoryResponse cahce) { RemoveOutdatedCahches(); try { _steamInventoryCaches.Add(steamId, new SteamInventoryCache(CacheTimeSpan, cahce)); } catch (System.Exception e) { // ignored } }
public async Task UserHasToManyItemInOurBotInventoryThrows() { var listOfDepositItems = new List <Item> { new Item { AssetId = "assetId1", AppId = 730, ContextId = "2", MarketHashName = "weapon1" }, new Item { AssetId = "assetId2", AppId = 730, ContextId = "2", MarketHashName = "weapon2" }, new Item { AssetId = "assetId3", AppId = 730, ContextId = "2", MarketHashName = "weapon3" }, new Item { AssetId = "assetId4", AppId = 730, ContextId = "2", MarketHashName = "weapon1" }, }; var steamInventory = new GetPlayerSteamInventoryResponse { PlayerInventory = new PlayerResponseItems { Items = { listOfDepositItems } } }; A.CallTo(() => _fakedSteamServiceClient.GetPlayerSteamInventoryAsync(A <GetPlayerSteamInventoryRequest> ._)).Returns(steamInventory); var itemDescriptions = new List <DatabaseModel.ItemDescription> { new DatabaseModel.ItemDescription("weapon1", new decimal(1), "730", "2", "img", true, 1), new DatabaseModel.ItemDescription("weapon2", new decimal(2), "730", "2", "img", true, 2), new DatabaseModel.ItemDescription("weapon3", new decimal(3), "730", "2", "img", true, 3), }; var botStack = new Stack <DatabaseModel.Bot>(); botStack.Push(new DatabaseModel.Bot("botSteamId", "botName")); A.CallTo(() => _fakedSettingsRepoService.GetSettingsAsync()) .Returns(new DatabaseModel.Settings(2, new decimal(0), 0, DateTime.Today, 20)); A.CallTo(() => _fakedBotService.GetAvalibleBotsForDeposit(A <DatabaseModel.User> ._, A <List <DatabaseModel.Item> > ._)).Returns(botStack); A.CallTo(() => _fakedItemDescRepoService.FindAsync(A <List <string> > ._)).Returns(itemDescriptions); await Assert.ThrowsAsync <InventoryLimitExceeded>(async() => await _steamService.MakeDepositOfferAsync(_realUser.SteamId, listOfDepositItems)); }
public async void UserDepositsItemThatIsNotInItemDescriotionThrows() { var repositItems = new List <Item> { new Item { AssetId = "assetId1", AppId = 730, ContextId = "2", MarketHashName = "weapon1" }, new Item { AssetId = "assetId2", AppId = 730, ContextId = "2", MarketHashName = "weapon2" }, new Item { AssetId = "assetId3", AppId = 730, ContextId = "2", MarketHashName = "weapon3" }, new Item { AssetId = "assetId4", AppId = 730, ContextId = "2", MarketHashName = "weapon1" }, }; var steamInventory = new GetPlayerSteamInventoryResponse { PlayerInventory = new PlayerResponseItems { Items = { repositItems } } }; A.CallTo(() => _fakedSteamServiceClient.GetPlayerSteamInventoryAsync(A <GetPlayerSteamInventoryRequest> ._)).Returns(steamInventory); var itemDescriptions = new List <DatabaseModel.ItemDescription> { new DatabaseModel.ItemDescription("weapon2", new decimal(2), "730", "2", "img", true, 2), new DatabaseModel.ItemDescription("weapon3", new decimal(3), "730", "2", "img", true, 3), }; var botStack = new Stack <DatabaseModel.Bot>(); botStack.Push(new DatabaseModel.Bot("botSteamId", "botName")); A.CallTo(() => _fakedBotService.GetAvalibleBotsForDeposit(A <DatabaseModel.User> ._, A <List <DatabaseModel.Item> > ._)).Returns(botStack); A.CallTo(() => _fakedItemDescRepoService.FindAsync(A <List <string> > ._)).Returns(itemDescriptions); await Assert.ThrowsAsync <ItemDescriptionNotInDatabase>(async() => await _steamService.MakeDepositOfferAsync(_realUser.SteamId, repositItems)); A.CallTo(() => _fakedItemDescRepoService.FindAsync(A <List <string> > ._)).MustHaveHappened(); }
public SteamInventoryCache(TimeSpan lifeSpan, GetPlayerSteamInventoryResponse inventory) { Created = DateTime.Now; LifeSpan = lifeSpan; Inventory = inventory; }