/// <summary> /// Overload that takes a machine scorer confidence level threshold under which the item is to be hand-scored. /// No score info or confidence level will result in an item being counted as requiring hand-scores if machineScoreConfLevelThreshold is supplied /// </summary> /// <param name="opStatus"></param> /// <param name="excludeDropped"></param> /// <param name="selectedOnly"></param> /// <param name="machineScoreConfLevelThreshold"></param> /// <returns></returns> public bool HasItemsRequiringHandscores(ItemOperationalStatus opStatus, bool excludeDropped, bool selectedOnly, bool excludeNotForScoring, double?machineScoreConfLevelThreshold = null) { return(ItemResponses.Exists(ir => Routing.ItemScoring.ItemScoringConfigManager.Instance.ScoreItem(ir) && (!excludeDropped || !ir.Dropped) && (!selectedOnly || ir.IsSelected) && (!excludeNotForScoring || (ir.TestItem != null && ir.TestItem.IsScored)) && (opStatus == ItemOperationalStatus.Any || (opStatus == ItemOperationalStatus.FieldTest && ir.Operational == 0) || (opStatus == ItemOperationalStatus.Operational && ir.Operational == 1)) && (machineScoreConfLevelThreshold == null || ir.ScoreInfo == null || ir.ScoreInfo.ConfLevel == null || ir.ScoreInfo.ConfLevel.Value.CompareTo(machineScoreConfLevelThreshold) < 0))); }
public async Task GetListOfItems() { ItemResponses result = await itemApi.GetAllItems(); Assert.IsType <ItemResponses>(result); foreach (ItemResponse item in result.ItemResponse) { Assert.IsType <ItemResponse>(item); Assert.True(item.Sku.Length > 0); Assert.True(item.ProductName.Length > 0); Assert.True(item.Gtin.Length > 0); } }
public async Task <ItemResponse> GetItem(string merchantSku) { // to avoid deadlock if this method is executed synchronously await new ContextRemover(); Base.Http.Request request = CreateRequest(); request.EndpointUri = string.Format("/v3/items/{0}", merchantSku); Base.Http.IResponse response = await client.GetAsync(request); ItemResponses result = await ProcessResponse <ItemResponses>(response); return(result.ItemResponse[0]); }
public async Task ReceiveItemDetails() { ItemResponses result = await itemApi.GetAllItems(); Assert.IsType <ItemResponses>(result); Assert.True(result.ItemResponse.Count == 10); foreach (ItemResponse item in result.ItemResponse) { Assert.True(item.Price.Amount > 0); Assert.False(string.IsNullOrEmpty(item.Sku)); Assert.False(string.IsNullOrEmpty(item.Gtin)); Assert.False(string.IsNullOrEmpty(item.Wpid)); } }
public async Task RequestItemByMerchantSku() { ItemResponses latestSku = await itemApi.GetAllItems(1, 10); Assert.IsType <ItemResponses>(latestSku); Assert.True(latestSku.ItemResponse.Count == 1); ItemResponse oneSku = await itemApi.GetItem(latestSku.ItemResponse[0].Sku); Assert.IsType <ItemResponse>(oneSku); Assert.True(latestSku.ItemResponse.Count == 1); Assert.Equal(latestSku.ItemResponse[0].Sku, oneSku.Sku); Assert.Equal(latestSku.ItemResponse[0].Price.Amount, oneSku.Price.Amount); Assert.Equal(latestSku.ItemResponse[0].ProductName, oneSku.ProductName); }
public async Task <ItemResponses> GetAllItems(string nextCursor) { // to avoid deadlock if this method is executed synchronously await new ContextRemover(); var request = CreateRequest(); request.EndpointUri = "/v3/items"; request.QueryParams.Add("nextCursor", nextCursor.ToString()); var response = await client.GetAsync(request); ItemResponses result = await ProcessResponse <ItemResponses>(response); return(result); }
public async Task GetPromotionForSingleSku() { ItemResponses oneItemList = await itemApi.GetAllItems(1, 10); var sku = oneItemList.ItemResponse[0].Sku; ServiceResponse result = await promotionApi.GetPromotionPrice(sku); Assert.IsType <ServiceResponse>(result); Assert.True(result.Status.Equals(Status.OK)); var textWriter = new StringWriter(); xmlSerializer.Serialize(textWriter, result); var str = textWriter.ToString(); var payload = GetPayloadForDelete(str, sku); Stream stream = new MemoryStream(Encoding.UTF8.GetBytes(payload)); ItemPriceResponse result1 = await promotionApi.UpdatePromotionPrice(stream); Assert.IsType <ItemPriceResponse>(result1); }
public async Task <ItemResponses> GetAllItems(int limit = 10, int offset = 0) { // to avoid deadlock if this method is executed synchronously await new ContextRemover(); var request = CreateRequest(); request.EndpointUri = "/v3/items"; if (limit > 0) { request.QueryParams.Add("limit", limit.ToString()); } if (offset > 0) { request.QueryParams.Add("offset", offset.ToString()); } var response = await client.GetAsync(request); ItemResponses result = await ProcessResponse <ItemResponses>(response); return(result); }
public async Task CanUpdatePromotionForSpecificSku() { ItemResponses oneItemList = await itemApi.GetAllItems(1, 20); var sku = oneItemList.ItemResponse[0].Sku; //Delete the current promotions if there is any //var result = await promotionApi.GetPromotionPrice(sku); //Assert.IsType<ServiceResponse>(result); //StringWriter textWriter = new StringWriter(); //xmlSerializer.Serialize(textWriter, result); //var str = textWriter.ToString(); //var payload = GetPayloadForDelete(str, sku); using (Stream stream = GetRequestContentForPromotionUpdate(sku, "REDUCED", "DELETE")) { ItemPriceResponse result = await promotionApi.UpdatePromotionPrice(stream); Assert.IsType <ItemPriceResponse>(result); Assert.True(result.Mart.Length > 0); Assert.True(result.Sku == sku); Assert.True(result.Message.Length > 0); } }