public async Task FindAllItemsInOfferFromOfferIdSuccess() { var list = new List <DatabaseModel.ItemInOfferTransaction> { new DatabaseModel.ItemInOfferTransaction(_setup.OfferTransaction3.Id, _setup.ItemDescription1.Id, "assetId4476", new decimal(14.45)), new DatabaseModel.ItemInOfferTransaction(_setup.OfferTransaction3.Id, _setup.ItemDescription2.Id, "assetId4477", new decimal(17.78)), }; await _itemInOfferTransactionRepoService.InsertAsync(list); var findRes = await _itemInOfferTransactionRepoService.FindAsync(_setup.OfferTransaction3); Assert.Equal(2, findRes.Count); Assert.Equal(new decimal(32.23), findRes.Sum(item => item.Value)); }
public async void GetAvalibeItemsWhenUserHasActiveOfferTransactionSuccess() { var user = new DatabaseModel.User("steamId", "name", "imageUrl", "tradelink", DateTime.Now, DateTime.Now, false, null, 10); var match = new DatabaseModel.Match(1, "salt", "hash", 14.4.ToString(CultureInfo.InvariantCulture), 1, null, null, 1, 1, DateTime.Now, 1); A.CallTo(() => _matchRepoService.GetCurrentMatch()).Returns(match); A.CallTo(() => _offerTransactionRepoService.FindActiveAsync(A <DatabaseModel.User> ._)).Returns(new List <DatabaseModel.OfferTransaction> { new DatabaseModel.OfferTransaction(10, 1, new decimal(15), false, "someSteamId", null, 5) }); var itemsInActiveOffer = new List <DatabaseModel.ItemInOfferTransaction> { new DatabaseModel.ItemInOfferTransaction(5, 1, "assetId1", new decimal(1)), new DatabaseModel.ItemInOfferTransaction(5, 2, "assetId3", new decimal(1)), }; A.CallTo(() => _itemsInOfferTransactionRepoService.FindAsync(A <List <DatabaseModel.OfferTransaction> > .That.Matches( list => list.Count == 1 && list[0].Id == 5))) .Returns(itemsInActiveOffer); A.CallTo(() => _itemRepoService.FindAsync(A <DatabaseModel.User> ._)).Returns(new List <DatabaseModel.Item> { new DatabaseModel.Item("assetId1", 1, -1, -1, DateTimeOffset.Now), new DatabaseModel.Item("assetId2", 1, -1, -1, DateTimeOffset.Now), new DatabaseModel.Item("assetId3", 2, -1, -1, DateTimeOffset.Now), new DatabaseModel.Item("assetId4", 3, -1, -1, DateTimeOffset.Now) }); A.CallTo(() => _descriptionRepoService.FindAsync(A <List <int> > ._)).Returns(new List <DatabaseModel.ItemDescription> { new DatabaseModel.ItemDescription("itemDesc1", 1, "730", "2", "img1", true, 1), new DatabaseModel.ItemDescription("itemDesc2", 1, "730", "2", "img1", true, 2), new DatabaseModel.ItemDescription("itemDesc3", 1, "730", "2", "img1", true, 3) }); var itemService = new ItemService(_fakedRepoService); var avalibleItemsForUser = await itemService.GetAvalibleItemsForUser(user); Assert.Equal(2, avalibleItemsForUser.Count); Assert.Equal("itemDesc1", avalibleItemsForUser.Single(item => item.AssetId == "assetId2").Name); Assert.Equal("itemDesc3", avalibleItemsForUser.Single(item => item.AssetId == "assetId4").Name); }
private async Task <List <Item> > GetItemsThatIsNotInAOffer(List <DatabaseModel.OfferTransaction> offers, List <Item> itemsThatUserOwns) { var itemInOfferTransactions = await _itemsInOfferTransactionRepoService.FindAsync(offers); return(itemsThatUserOwns.Where(item => itemInOfferTransactions.All(iOffer => iOffer.AssetId != item.AssetId)).ToList()); }