Exemplo n.º 1
0
        public void UpdateInventoryAsync_Update2itemsOneOfThemDoesNotExist_ExceptionOccured(UpdateInventoryAlgorithm updateInventoryAlgorithm)
        {
            //------------ Arrange
            var ebayService = new EbayService(this._credentials.GetEbayUserCredentials(), this._credentials.GetEbayConfigSandbox());

            //------------ Act
            var updateInventoryRequestExistingItem = new UpdateInventoryRequest {
                ItemId = ExistingProducts.FixedPrice1WithoutVariations.ItemId, Sku = ExistingProducts.FixedPrice1WithoutVariations.Sku, Quantity = 0
            };
            var updateInventoryRequestNotExistingItem = new UpdateInventoryRequest {
                ItemId = 0000, Sku = ExistingProducts.FixedPrice1WithVariation1.Sku + "qwe", Quantity = 0
            };
            var updateProductsAsyncTask1 = ebayService.UpdateInventoryAsync(new List <UpdateInventoryRequest> {
                updateInventoryRequestNotExistingItem, updateInventoryRequestExistingItem,
            }, updateInventoryAlgorithm);

            var    resp = Enumerable.Empty <UpdateInventoryResponse>();
            Action act  = () =>
            {
                updateProductsAsyncTask1.Wait();
                resp = updateProductsAsyncTask1.Result.ToList();
            };

            //------------ Assert
            act.ShouldThrow <Exception>();
        }
Exemplo n.º 2
0
        public async Task <IEnumerable <UpdateInventoryResponse> > UpdateInventoryAsync(IEnumerable <UpdateInventoryRequest> products, UpdateInventoryAlgorithm usealgorithm = UpdateInventoryAlgorithm.Old)
        {
            Task <IEnumerable <UpdateInventoryResponse> > res;

            switch (usealgorithm)
            {
            case UpdateInventoryAlgorithm.Old:
                res = UpdateInventoryCallExpensiveAlgorithmAsync(products);
                break;

            case UpdateInventoryAlgorithm.Econom:
                res = UpdateInventoryCallEconomAlgorithmAsync(products);
                break;

            default:
                res = UpdateInventoryCallExpensiveAlgorithmAsync(products);
                break;
            }
            return(await res.ConfigureAwait(false));
        }
Exemplo n.º 3
0
        public void UpdateInventoryAsync_UpdateFixedPriceItemWithVariationsAndNonvariation_NoExceptionOccuredAndResponseNotEmpty(UpdateInventoryAlgorithm algorithm)
        {
            //------------ Arrange
            var ebayService = new EbayService(this._credentials.GetEbayUserCredentials(), this._credentials.GetEbayConfigSandbox());

            var temp1 = ebayService.GetActiveProductsAsync(CancellationToken.None, true);

            temp1.Wait();
            var activeProducts = temp1.Result.ToList();

            var activeProductWithVariations1    = activeProducts.First(x => x.IsItemWithVariations());
            var activeProductWithoutVariations1 = activeProducts.First(x => !x.IsItemWithVariations());

            //------------ Act
            //1
            var updayeInventoryTask1 = ebayService.UpdateInventoryAsync(new List <UpdateInventoryRequest>
            {
                new UpdateInventoryRequest {
                    ItemId = activeProductWithVariations1.ItemId.ToLongOrDefault(false), Sku = activeProductWithVariations1.GetSku().Sku, Quantity = 100500, ConditionID = activeProductWithVariations1.ConditionId, IsVariation = activeProductWithVariations1.IsItemWithVariations()
                },
                new UpdateInventoryRequest {
                    ItemId = activeProductWithoutVariations1.ItemId.ToLongOrDefault(false), Sku = activeProductWithoutVariations1.GetSku().Sku, Quantity = 100500, ConditionID = activeProductWithoutVariations1.ConditionId, IsVariation = activeProductWithoutVariations1.IsItemWithVariations()
                },
            }, algorithm);

            updayeInventoryTask1.Wait();
            var updateInventoryResponse1 = updayeInventoryTask1.Result.ToList();

            //2
            var temp2 = ebayService.GetActiveProductsAsync(CancellationToken.None, true);

            temp2.Wait();
            activeProducts = temp2.Result.ToList();
            var activeProductWithVariations2    = activeProducts.First(x => x.ItemId == activeProductWithVariations1.ItemId && x.GetSku().Sku == activeProductWithVariations1.GetSku().Sku);
            var activeProductWithoutVariations2 = activeProducts.First(x => x.ItemId == activeProductWithoutVariations1.ItemId && x.GetSku().Sku == activeProductWithoutVariations1.GetSku().Sku);

            var updateInventoryTask2 = ebayService.UpdateInventoryAsync(new List <UpdateInventoryRequest>
            {
                new UpdateInventoryRequest {
                    ItemId = activeProductWithVariations2.ItemId.ToLongOrDefault(false), Sku = activeProductWithVariations2.GetSku().Sku, Quantity = 0, ConditionID = activeProductWithVariations2.ConditionId, IsVariation = activeProductWithVariations2.IsItemWithVariations()
                },
                new UpdateInventoryRequest {
                    ItemId = activeProductWithoutVariations2.ItemId.ToLongOrDefault(false), Sku = activeProductWithoutVariations2.GetSku().Sku, Quantity = 0, ConditionID = activeProductWithoutVariations2.ConditionId, IsVariation = activeProductWithoutVariations2.IsItemWithVariations()
                },
            }, algorithm);

            updateInventoryTask2.Wait();
            var updateInventoryResponse2 = updateInventoryTask2.Result.ToList();

            //3
            var temp3 = ebayService.GetActiveProductsAsync(CancellationToken.None, true);

            temp3.Wait();
            activeProducts = temp3.Result.ToList();
            var activeProductWithVariations3    = activeProducts.First(x => x.ItemId == activeProductWithVariations1.ItemId && x.GetSku().Sku == activeProductWithVariations1.GetSku().Sku);
            var activeProductWithoutVariations3 = activeProducts.First(x => x.ItemId == activeProductWithoutVariations1.ItemId && x.GetSku().Sku == activeProductWithoutVariations1.GetSku().Sku);

            //------------ Assert
            activeProductWithVariations3.GetQuantity().Quantity.Should().Be(0);
            activeProductWithoutVariations3.GetQuantity().Quantity.Should().Be(0);

            activeProductWithVariations2.GetQuantity().Quantity.Should().Be(100500);
            activeProductWithoutVariations2.GetQuantity().Quantity.Should().Be(100500);
        }