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));
        }
示例#2
0
        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);
        }
示例#3
0
        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());
        }