public async Task GetItemInventoryAsync() { var soapService = new NetSuiteSoapService(this.Config); const string sku = "GUARD528-test1"; var token = CancellationToken.None; var item = await soapService.GetItemBySkuAsync(sku, token); var itemInventory = await soapService.GetItemInventoryAsync(item, token, Mark.Blank()); itemInventory.Any(i => Math.Abs(i.quantityAvailable) > 0).Should().BeTrue(); }
public void GetOrders() { var orders = _commonService.GetOrdersAsync(base.OrganizationKey, new DateTime(2020, 3, 30, 0, 0, 1, DateTimeKind.Utc), new DateTime(2020, 5, 30, 21, 42, 20, DateTimeKind.Utc), CancellationToken.None, Mark.Blank()); orders.Wait(); //------------ Assert orders.Should().NotBeNull(); orders.Result.Should().NotBeEmpty(); }
private string CreateMethodCallInfo(string methodParameters = "", Mark mark = null, string errors = "", string methodResult = "", string additionalInfo = "", [CallerMemberName] string memberName = "", string notes = "") { mark = mark ?? Mark.Blank(); var connectionInfo = this.ToJsonSoapInfo(); var str = string.Format( "{{MethodName:{0}, ConnectionInfo:{1}, MethodParameters:{2}, Mark:\"{3}\"{4}{5}{6}{7}}}", memberName, connectionInfo, methodParameters, mark, string.IsNullOrWhiteSpace(errors) ? string.Empty : ", Errors:" + errors, string.IsNullOrWhiteSpace(methodResult) ? string.Empty : ", Result:" + methodResult, string.IsNullOrWhiteSpace(notes) ? string.Empty : ", Notes:" + notes, string.IsNullOrWhiteSpace(additionalInfo) ? string.Empty : ", AdditionalInfo: " + additionalInfo ); return(str); }
private string CreateMethodCallInfo(string methodParameters = "", Mark mark = null, string errors = "", string methodResult = "", string additionalInfo = "", string notes = "", [CallerMemberName] string memberName = "") { try { mark = mark ?? Mark.Blank(); var connectionInfo = this.ToJson(); var str = string.Format( "{{Mark:\"{3}\", MethodName:{0}, ConnectionInfo:{1}, MethodParameters:{2} {4}{5}{6}{7}}}", memberName, connectionInfo, string.IsNullOrWhiteSpace(methodParameters) ? PredefinedValues.EmptyJsonObject : methodParameters, mark, string.IsNullOrWhiteSpace(errors) ? string.Empty : ", Errors:" + errors, string.IsNullOrWhiteSpace(methodResult) ? string.Empty : ", Result:" + methodResult, string.IsNullOrWhiteSpace(notes) ? string.Empty : ",Notes: " + notes, string.IsNullOrWhiteSpace(additionalInfo) ? string.Empty : ", " + additionalInfo ); return(str); } catch (Exception) { return(PredefinedValues.EmptyJsonObject); } }
public void GetEmptyInventoryItemsListCreatedAndModifiedAfterSpecificDate() { var createOrModifiedDate = new DateTime(2100, 12, 1); var items = this._itemsService.GetItemsCreatedUpdatedAfterAsync(createOrModifiedDate, true, CancellationToken.None, Mark.Blank()).Result; items.Count().Should().Be(0); }
public void GetAllInventoryItems() { var newItems = this._itemsService.GetItemsCreatedUpdatedAfterAsync(DateTime.MinValue, true, CancellationToken.None, Mark.Blank()).Result; newItems.Count().Should().BeGreaterThan(0); }
public void GetInventoryItemsCreatedAfterSpecifiedDate() { var createdDate = new DateTime(2019, 12, 1); var newItems = this._itemsService.GetItemsCreatedUpdatedAfterAsync(createdDate, false, CancellationToken.None, Mark.Blank()).Result; newItems.Count().Should().BeGreaterThan(0); }
public async Task GetOrdersByDateAsync_InvalidCredentials_ShouldThrow() { var invalidCreds = new LogicBrokerAccess.Configuration.LogicBrokerCredentials("invalid credentials"); var service = logicBrokerFactory.CreateOrdersService(invalidCreds); try { await service.GetOrdersByDateAsync(DateTime.UtcNow.AddMonths(-3), DateTime.UtcNow, CancellationToken.None, Mark.Blank()); } catch (Exception ex) { Assert.IsTrue(ex.InnerException is LogicBrokerException); } }
public async Task UpdatInventoryAsync() { var inventoryItems = new [] { new LogicBrokerAccess.Models.LogicBrokerInventoryItem { SupplierSKU = "TESTSKU4", Quantity = 222 }, new LogicBrokerAccess.Models.LogicBrokerInventoryItem { SupplierSKU = "TESTSKU5", Quantity = 333 } }; var result = await inventoryService.UpdateInventoryAsync(inventoryItems, CancellationToken.None, Mark.Blank()); result.Should().NotBeNullOrWhiteSpace(); }
public async Task UpdateSkusQuantitiesAsync_PushItemsThatUsesBinsAndItemThatDoesnt() { int newQuantity = new Random().Next(1, 100); const string testSkuBin = "GUARD528-test1"; const string binNumber = "1004"; int newQuantityNoBin = new Random().Next(1, 100); const string testSkuNoBin = "NS-testsku99"; var token = CancellationToken.None; var binQuantities = new NetSuiteItemQuantity { BinQuantities = new [] { new NetSuiteBinQuantity(_locationBostonBins.name, binNumber, newQuantity) } }; var unBinnedQuantities = new NetSuiteItemQuantity { AvailableQuantity = newQuantityNoBin }; var skuBinQuantities = new Dictionary <string, NetSuiteItemQuantity> { { testSkuBin, binQuantities }, { testSkuNoBin, unBinnedQuantities } }; await this._itemsService.UpdateSkusQuantitiesAsync(AccountId, _locationBostonBins.name, skuBinQuantities, NetSuiteInventoryBinsModeEnum.Both, token, Mark.Blank()); var updatedBinQuantity = await GetItemBinQuantityAsync(testSkuBin, _locationBostonBins.internalId, binNumber); updatedBinQuantity.Should().Be(newQuantity); var updatedNoBinQuantity = await this._itemsService.GetItemQuantityAsync(testSkuNoBin, _locationBostonBins.internalId, CancellationToken.None); updatedNoBinQuantity.Should().Be(newQuantityNoBin); }
public async Task UpdateItemQuantityBySkuAsync_NotPushingToBins_ModeSetToPushToNotInBinOnly_ItemAndLocationUsesBins() { var newQuantity = new Random().Next(1, 100); const string testsku = "NS-testsku555"; var initialQuantity = await this._itemsService.GetItemQuantityAsync(testsku, _locationBostonBins.internalId, CancellationToken.None); await this._itemsService.UpdateItemQuantityBySkuAsync(AccountId, _locationBostonBins.name, testsku, newQuantity, NetSuiteInventoryBinsModeEnum.ItemsNotInBins, CancellationToken.None, Mark.Blank()); var quantityAfterUpdate = await this._itemsService.GetItemQuantityAsync(testsku, _locationBostonBins.internalId, CancellationToken.None); quantityAfterUpdate.Should().Be(initialQuantity); }
public async Task UpdateSkusQuantitiesAsync_PushingToBins_BinAssociatedWithItemButInAnotherLocation() { var newQuantity = new Random().Next(1, 100); const string testSku = "GUARD528-test1"; const string locationName = "San Francisco"; const string locationId = "1"; const string binNumber = "1004"; //in the Boston location var token = CancellationToken.None; var itemQuantity = new NetSuiteItemQuantity { BinQuantities = new [] { new NetSuiteBinQuantity(locationName, binNumber, newQuantity) } }; var skuLocationQuantities = new Dictionary <string, NetSuiteItemQuantity> { { testSku, itemQuantity } }; var binQuantityBefore = await GetItemBinQuantityAsync(testSku, locationId, binNumber); var itemQuantityBefore = await this._itemsService.GetItemQuantityAsync(testSku, locationName, CancellationToken.None); await this._itemsService.UpdateSkusQuantitiesAsync(AccountId, locationName, skuLocationQuantities, NetSuiteInventoryBinsModeEnum.ItemsInBins, token, Mark.Blank()); var binQuantityAfter = await GetItemBinQuantityAsync(testSku, locationId, binNumber);; binQuantityAfter.Should().Be(binQuantityBefore); var itemQuantityAfter = await this._itemsService.GetItemQuantityAsync(testSku, locationName, CancellationToken.None); itemQuantityAfter.Should().Be(itemQuantityBefore); }
// Seems to fail randomly. Try running again a few times if failing. public async Task UpdateSkusQuantitiesAsync_PushingToBins_ItemAndLocationUsesBins_BinIsNotAssociatedWithItem() { int newQuantity = new Random().Next(1, 100); const string testsku = "GUARD528-test1"; const string binNumber = "1999"; var token = CancellationToken.None; var itemQuantity = new NetSuiteItemQuantity { AvailableQuantity = 0, BinQuantities = new [] { new NetSuiteBinQuantity(_locationBostonBins.name, binNumber, newQuantity) } }; var skuLocationQuantities = new Dictionary <string, NetSuiteItemQuantity> { { testsku, itemQuantity } }; var binQuantityBefore = await GetItemBinQuantityAsync(testsku, _locationBostonBins.internalId, binNumber); var itemQuantityBefore = await this._itemsService.GetItemQuantityAsync(testsku, _locationBostonBins.internalId, CancellationToken.None); await this._itemsService.UpdateSkusQuantitiesAsync(AccountId, _locationBostonBins.name, skuLocationQuantities, NetSuiteInventoryBinsModeEnum.ItemsInBins, token, Mark.Blank()); var updatedBinQuantity = await GetItemBinQuantityAsync(testsku, _locationBostonBins.internalId, binNumber);; updatedBinQuantity.Should().Be(binQuantityBefore); var itemQuantityAfter = await this._itemsService.GetItemQuantityAsync(testsku, _locationBostonBins.internalId, CancellationToken.None); itemQuantityAfter.Should().Be(itemQuantityBefore); }
public async Task UpdateSkusQuantitiesAsync_PushingToBins_ZerosOutBinsNotPushed() { var nonZeroQuantity = new Random().Next(1, 100); const string testsku = "GUARD528-test1"; const string binNumberToZeroOut = "1004"; const string anotherBinNumber = "1001"; var token = CancellationToken.None; var itemQuantity = new NetSuiteItemQuantity { BinQuantities = new [] { new NetSuiteBinQuantity(_locationBostonBins.name, binNumberToZeroOut, nonZeroQuantity) } }; var skuLocationQuantities = new Dictionary <string, NetSuiteItemQuantity> { { testsku, itemQuantity } }; //Push non-zero to binNumberToZeroOut await this._itemsService.UpdateSkusQuantitiesAsync(AccountId, _locationBostonBins.name, skuLocationQuantities, NetSuiteInventoryBinsModeEnum.ItemsInBins, token, Mark.Blank()); //Push to anotherBinNumber itemQuantity.BinQuantities.First().BinNumber = anotherBinNumber; await this._itemsService.UpdateSkusQuantitiesAsync(AccountId, _locationBostonBins.name, skuLocationQuantities, NetSuiteInventoryBinsModeEnum.ItemsInBins, token, Mark.Blank()); var binQuantityAfter = await GetItemBinQuantityAsync(testsku, _locationBostonBins.internalId, binNumberToZeroOut); binQuantityAfter.Should().Be(0); //Restore binNumberToZeroOut for other tests itemQuantity.BinQuantities.First().BinNumber = binNumberToZeroOut; await this._itemsService.UpdateSkusQuantitiesAsync(AccountId, _locationBostonBins.name, skuLocationQuantities, NetSuiteInventoryBinsModeEnum.ItemsInBins, token, Mark.Blank()); }
public void AcknowledgeOrdersAsync() { var ordersServiceWithPageSize1 = logicBrokerFactory.CreateOrdersService(this.Credentials, 1); var orderLogicBrokerKeys = new List <string> { "454528", "454511" }; var acknowledgedOrders = ordersServiceWithPageSize1.AcknowledgeOrdersAsync(orderLogicBrokerKeys, CancellationToken.None, Mark.Blank()).Result; acknowledgedOrders.Count().Should().BeGreaterThan(1); acknowledgedOrders.Any(o => o == orderLogicBrokerKeys[0]).Should().BeTrue(); }
public void CollectOrdersFromAllPages() { var ordersServiceWithPageSize1 = logicBrokerFactory.CreateOrdersService(this.Credentials, 1); var orders = ordersServiceWithPageSize1.GetOrdersByDateAsync(DateTime.UtcNow.AddMonths(-3), DateTime.UtcNow, CancellationToken.None, Mark.Blank()).Result; orders.Count().Should().BeGreaterThan(1); }
public async Task UpdateItemQuantityBySkuAsync_NotPushingToBins_BinFeatureEnabledOnlyOnItemLevel() { int newQuantity = new Random().Next(1, 100); const string testsku = "NS-testsku555"; await this._itemsService.UpdateItemQuantityBySkuAsync(AccountId, _locationSkuVaultNoBins.name, testsku, newQuantity, NetSuiteInventoryBinsModeEnum.ItemsNotInBins, CancellationToken.None, Mark.Blank()); int updatedQuantity = await this._itemsService.GetItemQuantityAsync(testsku, _locationSkuVaultNoBins.internalId, CancellationToken.None); updatedQuantity.Should().Be(newQuantity); }
public async Task UpdateSkusQuantitiesAsync__NotPushingToBins_MultipleItems() { var inventory = new Dictionary <string, NetSuiteItemQuantity>(); var random = new Random(); for (int i = 1; i <= 18; i++) { // item with bins if (i == 6) { continue; } var binQuantity = new NetSuiteItemQuantity { AvailableQuantity = random.Next(1, 100) }; inventory.Add("NS-testsku" + i.ToString(), binQuantity); } await this._itemsService.UpdateSkusQuantitiesAsync(AccountId, _locationSkuVaultNoBins.name, inventory, NetSuiteInventoryBinsModeEnum.ItemsNotInBins, CancellationToken.None, Mark.Blank()); foreach (var inventoryItem in inventory) { try { int currentQuantity = await this._itemsService.GetItemQuantityAsync(inventoryItem.Key, _locationSkuVaultNoBins.internalId, CancellationToken.None); currentQuantity.Should().Be(inventoryItem.Value.AvailableQuantity); } catch (NetSuiteItemNotFoundException) { } } }
public async Task UpdateItemQuantityBySkuAsync_NotPushingToBins_BinFeatureEnabledOnlyOnLocationLevel() { var newQuantity = new Random().Next(1, 100); const string testSku = "NS-testsku1"; await _itemsService.UpdateItemQuantityBySkuAsync(AccountId, _locationBostonBins.name, testSku, newQuantity, NetSuiteInventoryBinsModeEnum.ItemsNotInBins, CancellationToken.None, Mark.Blank()); var quantityAfterUpdate = await this._itemsService.GetItemQuantityAsync(testSku, _locationBostonBins.internalId, CancellationToken.None); quantityAfterUpdate.Should().Be(newQuantity); }
protected MagentoException(string message, Exception exception, Mark mark = null) : base(message, exception) { this.CallMark = mark ?? Mark.Blank(); }
public void GetActiveOrganizationsAsync() { var result = _commonService.GetActiveOrganizationsAsync(CancellationToken.None, Mark.Blank()).Result; result.Should().NotBeEmpty(); }
public async Task GetUnshippedOrdersAsync() { var orders = await _commonService.GetUnshippedOrdersAsync(base.OrganizationKey, DateTime.UtcNow, CancellationToken.None, Mark.Blank()); orders.Should().NotBeEmpty(); }
public async Task GetLocationsByNameAsync() { var locationName = "San Francisco"; var location = await this._commonService.GetLocationByNameAsync(locationName, CancellationToken.None, Mark.Blank()); location.Should().NotBeNull(); }
public void UpdateParentSkuQuantityAsync() { const string sku = "TestParent3"; var locationQuantity = new NetSuiteItemQuantity { AvailableQuantity = 10 }; var inventory = new Dictionary <string, NetSuiteItemQuantity> { { sku, locationQuantity } }; Assert.DoesNotThrowAsync(async() => { await this._itemsService.UpdateSkusQuantitiesAsync(AccountId, _locationSkuVaultNoBins.name, inventory, NetSuiteInventoryBinsModeEnum.Both, CancellationToken.None, Mark.Blank()); }); }
public async Task UpdateItemQuantityBySkuAsync_NotPushingToBins_ItemNotInBin() { int newQuantity = new Random().Next(1, 100); string testSku = "NS-testsku1"; await this._itemsService.UpdateItemQuantityBySkuAsync(AccountId, _locationSkuVaultNoBins.name, testSku, newQuantity, NetSuiteInventoryBinsModeEnum.ItemsNotInBins, CancellationToken.None, Mark.Blank()); int quantityAfterUpdate = await this._itemsService.GetItemQuantityAsync(testSku, _locationSkuVaultNoBins.internalId, CancellationToken.None); quantityAfterUpdate.Should().Be(newQuantity); }
public void GetOrdersByDateAsync() { var orders = ordersService.GetOrdersByDateAsync(DateTime.UtcNow.AddMonths(-3), DateTime.UtcNow, CancellationToken.None, Mark.Blank()).Result; orders.Count().Should().NotBe(0); }