public void GetProductAndUserHitDiscountInfo() { using (var client = new DiscountActivityInfoClient()) { var pidList = new List <DiscountActivityRequest>() { new DiscountActivityRequest() { Pid = "AP-BXJG-XY|1", Num = 4, Price = 200, PaymentMethod = 2, InstallMethod = 2 }, new DiscountActivityRequest() { Pid = "LF-GiGi-G-1069|8", Num = 1, Price = 400, PaymentMethod = 2, InstallMethod = 2 } }; var result = client.GetProductAndUserHitDiscountInfo(pidList, null).Result; Assert.IsNotNull(result); } }
public void GetProductDiscountInfoForTag() { //验证情况:传入的pid都是有活动的pid //准备参数 string userId = "333"; string activityId = "7c709b97-88cf-4a42-a364-35893721da4e"; int orderId = 0; //338; var hitRequestList = new List <DiscountActivityRequest>() //下单验证 { new DiscountActivityRequest() { Pid = "TR-ME-ENERGY-XM2|17", Num = 5, Price = 818 }, // new DiscountActivityRequest(){ Pid="LF-GiGi-G-1069|8",Num=1,Price=400,PaymentMethod=2,InstallMethod=2 } }; var pidList = new List <string>() { "TR-ME-ENERGY-XM2|17", }; var orderInfoList = new List <DiscountCreateOrderRequest>() { new DiscountCreateOrderRequest() { UserId = userId, ActivityId = activityId, Num = 2, Pid = "TR-ME-ENERGY-XM2|17", OrderId = orderId }, //new DiscountCreateOrderRequest() //{ // UserId=userid, // ActivityId=activityid, // Num=1, // Pid="BD-BO-Common|105", // OrderId=orderId //}, }; var pidCount = pidList.Distinct().Count(); //1.验证打折标签 using (var client = new ProductConfigClient()) { //刷新标签缓存 //var result1 = client.SetProductCommonTagDetailsCacheAsync(ProductCommonTag.Discount, pidList).Result; var request = new ProductInfoByTagRequest() { Tags = new List <ProductCommonTag>() { ProductCommonTag.Discount }, Pids = pidList }; var tags = new List <ProductCommonTag>() { ProductCommonTag.Discount }; var result = client.SelectProductInfoByTagRequestAsync(request).Result.Result; var descList = result.Where(a => a.Value.Count > 0).Select(a => a.Value[0].TagDescription); var hasDesc = descList.Where(a => !string.IsNullOrWhiteSpace(a)).Any(); //验证是否有标签 Assert.IsNotNull(hasDesc); } //2.供标签缓存使用的接口 using (var client = new DiscountActivityInfoClient()) { pidList = pidList.Distinct().ToList(); DateTime startTime = DateTime.Now; DateTime endTime = startTime + TimeSpan.FromHours(12); var result = client.GetProductDiscountInfoForTag(pidList, startTime, endTime).Result.ToList(); Assert.IsTrue(result.Count == pidCount); } //3.验证详情页是否有打折信息和用户限购 using (var client = new DiscountActivityInfoClient()) { var result = client.GetProductAndUserDiscountInfo(pidList, userId).Result; var resultList = result.Where(a => a.HasDiscountActivity); Assert.IsTrue(resultList.Count() == pidCount); } //3.验证是否可以下单 using (var client = new DiscountActivityInfoClient()) { var result = client.GetProductAndUserHitDiscountInfo(hitRequestList, null).Result; var resultList = result.Where(a => a.HasDiscountActivity); Assert.IsTrue(resultList?.Count() == pidCount); } if (orderId > 0) { //4.验证下单是否成功 using (var client = new DiscountActivityInfoClient()) { var result = client.SaveCreateOrderDiscountInfoAndSetCache(orderInfoList).Result; Assert.IsTrue(result); } } using (var client = new DiscountActivityInfoClient()) { //验证活动用户已购数缓存 var userByNum = client.GetOrSetUserActivityBuyNumCacheAsync(userId, new List <string>() { activityId }).Result.Result; var userByNumList = userByNum.Where(a => a.BuyNum > 0); Assert.IsTrue(userByNumList?.Count() > 0); //验证活动商品已售数量缓存 var soldNum = client.GetOrSetActivityProductSoldNumCacheAsync(activityId, pidList).Result.Result; var soldNumList = soldNum.Where(a => a.SoldNum > 0); Assert.IsTrue(soldNumList?.Count() == pidCount); } if (orderId > 0) { //5.取消订单 using (var client = new DiscountActivityInfoClient()) { var result = client.UpdateCancelOrderDiscountInfoAndSetCache(orderId).Result; Assert.IsTrue(result); } } //取消订单后验证已购数量和已售数量 using (var client = new DiscountActivityInfoClient()) { //验证活动用户已购数缓存 var userByNum = client.GetOrSetUserActivityBuyNumCacheAsync(userId, new List <string>() { activityId }).Result.Result; var userByNumList = userByNum.Where(a => a.BuyNum == 0); Assert.IsTrue(userByNumList?.Count() > 0); //验证活动商品已售数量缓存 var soldNum = client.GetOrSetActivityProductSoldNumCacheAsync(activityId, pidList).Result.Result; var soldNumList = soldNum.Where(a => a.SoldNum == 0); Assert.IsTrue(soldNumList?.Count() == pidCount); } }