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>(); }
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); }