private async Task SetSimpleListingViewModelProperties(SimpleListingViewModel result, ListingResult listingResult, CancellationToken cancellationToken)
        {
            result.AccountName = listingResult.Listing.Account?.Name;
            result.Price       = await this.priceViewModelFactory.CreateAsync(listingResult.Listing.Price, cancellationToken).ConfigureAwait(false);

            result.Age = listingResult.Listing.AgeText;
        }
        public async Task CreateShouldReturnSimpleItemListingViewModel(Item item)
        {
            ListingResult listingResult = GetListingResult();

            SimpleListingViewModel result = await this.listingViewModelFactory.CreateAsync(listingResult, item);

            Assert.NotNull(result);
            AssertSimpleListingViewModelProperties(result, listingResult);
        }
        public async Task CreateShouldSetPriceViewModel(Item item)
        {
            var expected = new PriceViewModel {
                Amount = "2", Currency = "Chaos Orb"
            };
            ListingResult listingResult = GetListingResult();

            this.priceViewModelFactoryMock.Setup(x => x.CreateAsync(It.IsAny <Price>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(expected);

            SimpleListingViewModel result = await this.listingViewModelFactory.CreateAsync(listingResult, item);

            Assert.That(result.Price, Is.EqualTo(expected));
        }
        public async Task <SimpleListingViewModel> CreateAsync(ListingResult listingResult, Item item, CancellationToken cancellationToken = default)
        {
            SimpleListingViewModel result = new SimpleListingViewModel();

            if (item is GemItem)
            {
                result = this.CreateGemItemListingViewModel(listingResult);
            }
            else if (item is EquippableItem || item is OrganItem)
            {
                result = this.CreateItemListingViewModelWithItemLevel(listingResult);
            }
            else if (item is FlaskItem)
            {
                result = this.CreateFlaskItemViewModel(listingResult);
            }

            await this.SetSimpleListingViewModelProperties(result, listingResult, cancellationToken).ConfigureAwait(false);

            return(result);
        }
Beispiel #5
0
        public async Task <ItemListingsViewModel> CreateAsync(Item item, ItemListingsQueryResult itemListingsQueryResult, CancellationToken cancellationToken = default)
        {
            var result = new ItemListingsViewModel
            {
                ListingsUri     = itemListingsQueryResult.Uri,
                ItemDescription = item.DisplayName,
                ItemRarity      = item.Rarity
            };

            foreach (var listingResult in itemListingsQueryResult.Result)
            {
                if (cancellationToken.IsCancellationRequested)
                {
                    break;
                }

                SimpleListingViewModel itemListingViewModel = await this.listingViewModelFactory.CreateAsync(listingResult, item, cancellationToken);

                result.Listings.Add(itemListingViewModel);
            }

            return(result);
        }
 private static void AssertSimpleListingViewModelProperties(SimpleListingViewModel result, ListingResult listingResult)
 {
     Assert.That(result.AccountName, Is.EqualTo(listingResult.Listing.Account.Name));
     Assert.That(result.Age, Is.EqualTo(listingResult.Listing.AgeText));
 }