Commit 378b441a by yangfangfang

物品

parent 37ea63cf
...@@ -8,6 +8,8 @@ import com.xiaomai.enums.RequestType; ...@@ -8,6 +8,8 @@ import com.xiaomai.enums.RequestType;
import com.xiaomai.enums.Terminal; import com.xiaomai.enums.Terminal;
import com.xiaomai.utils.XMBaseTest; import com.xiaomai.utils.XMBaseTest;
import java.math.BigDecimal;
public class GoodCTools extends XMBaseTest { public class GoodCTools extends XMBaseTest {
/** /**
...@@ -19,7 +21,7 @@ public class GoodCTools extends XMBaseTest { ...@@ -19,7 +21,7 @@ public class GoodCTools extends XMBaseTest {
public JSONObject pageXcxHomeGoodsC(DataUserInfo...userInfos){ public JSONObject pageXcxHomeGoodsC(DataUserInfo...userInfos){
dataApi.setApiModule(ApiModule.Lunar_Goods) dataApi.setApiModule(ApiModule.Lunar_Goods)
.setApiName("API_pageXcxHomeGoodsC") .setApiName("API_pageXcxHomeGoodsC")
.setTerminal(Terminal.C); .setTerminal(Terminal.minApp);
super.beforeDataRequest(userInfos); super.beforeDataRequest(userInfos);
...@@ -45,7 +47,7 @@ public class GoodCTools extends XMBaseTest { ...@@ -45,7 +47,7 @@ public class GoodCTools extends XMBaseTest {
public JSONObject getDetail_goods_C(String id, DataUserInfo...userInfos){ public JSONObject getDetail_goods_C(String id, DataUserInfo...userInfos){
dataApi.setApiModule(ApiModule.Lunar_Goods) dataApi.setApiModule(ApiModule.Lunar_Goods)
.setApiName("API_getDetail_goods_C") .setApiName("API_getDetail_goods_C")
.setTerminal(Terminal.C); .setTerminal(Terminal.minApp);
super.beforeDataRequest(userInfos); super.beforeDataRequest(userInfos);
...@@ -66,7 +68,7 @@ public class GoodCTools extends XMBaseTest { ...@@ -66,7 +68,7 @@ public class GoodCTools extends XMBaseTest {
public JSONObject listXcxGoodsGroup(DataUserInfo...userInfos){ public JSONObject listXcxGoodsGroup(DataUserInfo...userInfos){
dataApi.setApiModule(ApiModule.Lunar_Goods) dataApi.setApiModule(ApiModule.Lunar_Goods)
.setApiName("API_listXcxGoodsGroup") .setApiName("API_listXcxGoodsGroup")
.setTerminal(Terminal.C); .setTerminal(Terminal.minApp);
super.beforeDataRequest(userInfos); super.beforeDataRequest(userInfos);
...@@ -79,4 +81,30 @@ public class GoodCTools extends XMBaseTest { ...@@ -79,4 +81,30 @@ public class GoodCTools extends XMBaseTest {
return dataApi.getBodyInJSON(); return dataApi.getBodyInJSON();
} }
/**
* @param
* @description:C端购买物品前校验是否通过
* @author: yff
**/
public JSONObject checkAllowPurchase(String goodsSpecId, String memberId, String price,int quantity, DataUserInfo...userInfos){
dataApi.setApiModule(ApiModule.Lunar_Goods)
.setApiName("API_checkAllowPurchase")
.setTerminal(Terminal.minApp);
super.beforeDataRequest(userInfos);
JSONObject checkAllowPurchase=new JSONObject();
checkAllowPurchase.put("goodsSpecId",goodsSpecId);
checkAllowPurchase.put("memberId",memberId);
checkAllowPurchase.put("price",price);
checkAllowPurchase.put("quantity",quantity);
checkAllowPurchase.put("studioId",dataApi.getLoginInfo().getStudioId());
dataApi.doRequest(RequestType.JSON,dataparams,checkAllowPurchase.toString(),dataheadrs).assetsSuccess(true);
return dataApi.getBodyInJSON();
}
} }
package com.xiaomai.cases.lunar.goods;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.basetest.BaseTestImpl;
import com.xiaomai.cases.lunar.order.OrderCTools;
import com.xiaomai.cases.lunar.user.UserTools;
import com.xiaomai.cases.polar.finance.order.OrderTools;
import com.xiaomai.cases.polar.goods.Tools.GoodTools;
import com.xiaomai.client.DataUserInfo;
import com.xiaomai.enums.ApiModule;
import com.xiaomai.enums.LoginAccount;
import com.xiaomai.enums.RequestType;
import com.xiaomai.enums.Terminal;
import com.xiaomai.utils.RandomStringUtil;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import java.math.BigDecimal;
public class TestPurchaseGoods extends BaseTestImpl {
GoodCTools goodCTools=new GoodCTools();
GoodTools goodTools=new GoodTools();
String memberId;
UserTools userTools=new UserTools();
DataUserInfo info = new DataUserInfo();
String goodsId;
OrderCTools orderCTools=new OrderCTools();
OrderTools orderTools=new OrderTools();
@BeforeMethod
@Override
public void beforeTest(){
setTestInfo(ApiModule.Lunar_Goods,"API_purchaseGoods", LoginAccount.GYM_MINIAPPC, Terminal.minApp,"yff");
super.beforeTest();
}
@Test(description = "购买非0元多规格物品")
public void testPurchaseGoods_WAITING() {
//获取会员信息
memberId = userTools.getMemberInfo().getString("memberId");
//切换端位
info.setTerminal(Terminal.B);
info.setLoginUser(LoginAccount.GYM_PROD);
//新建一个非0多规格物品
JSONObject create=goodTools.createGoods_multiple("YES","0.01",10,info);
goodsId=create.getString("result");
//获取商品详情
JSONObject getDetail_goods_C=goodCTools.getDetail_goods_C(goodsId,info);
String id=getDetail_goods_C.getJSONObject("result").getJSONObject("multiSpecInfo").getJSONArray("specCombinationList").getJSONObject(0).getString("id");
String price=getDetail_goods_C.getJSONObject("result").getJSONObject("multiSpecInfo").getJSONArray("specCombinationList").getJSONObject(0).getString("price");
int inventory=Integer.parseInt(getDetail_goods_C.getJSONObject("result").getJSONObject("multiSpecInfo").getJSONArray("specCombinationList").getJSONObject(0).getString("inventory"));
boolean checkAllowPurchase=Boolean.parseBoolean(goodCTools.checkAllowPurchase(id,memberId,price,inventory).getJSONObject("result").getString("success"));
//校验一下物品购买是否可以通过,为true才可以
if(checkAllowPurchase==true){
//购买非0元多规格物品
JSONObject purchaseGoods=new JSONObject();
purchaseGoods.put("depositAmount","0.00");
purchaseGoods.put("depositCardId",null);
purchaseGoods.put("memberId",memberId);
purchaseGoods.put("memo","");
purchaseGoods.put("objectId", RandomStringUtil.randomString(16));
purchaseGoods.put("receivableAmount",price);
purchaseGoods.put("goodsSpecId",id);
purchaseGoods.put("price",price);
purchaseGoods.put("quantity",1);
purchaseGoods.put("studioId",dataApi.getLoginInfo().getStudioId());
xmAppApi.doRequest(RequestType.JSON, params, purchaseGoods.toString(), headers).assetsSuccess(true);
JSONObject purchaseGoodsResponse = xmAppApi.getBodyInJSON();
String orderId=purchaseGoodsResponse.getJSONObject("result").getString("id");
//校验1:获取B端详情:待支付状态
JSONObject getDetailResult = orderTools.getDetail(orderId,info);
String businessNo= getDetailResult.getJSONObject("result").getString("businessNo");//订单号
String state=getDetailResult.getJSONObject("result").getString("state");
Assert.assertEquals(state,"WAITING","未生成待支付物品订单");
//C端取消订单
JSONObject cancel=orderCTools.cancel(orderId);
//校验1:获取B端详情:已取消状态
JSONObject getDetailResult_cancel = orderTools.getDetail(orderId,info);
String businessNo_cancel= getDetailResult_cancel.getJSONObject("result").getString("businessNo");//订单号
String state_cancel=getDetailResult_cancel.getJSONObject("result").getString("state");
Assert.assertEquals(state_cancel,"CANCEL","未生成待支付物品订单");
}
else {
System.out.println("物品购买校验未通过,不能下单");
}
}
@Test(description = "购买0元多规格物品")
public void testPurchaseGoods_PAID() {
//获取会员信息
memberId = userTools.getMemberInfo().getString("memberId");
//切换端位
info.setTerminal(Terminal.B);
info.setLoginUser(LoginAccount.GYM_PROD);
//新建一个0元多规格物品
JSONObject create=goodTools.createGoods_multiple("YES","0",10,info);
goodsId=create.getString("result");
//获取商品详情
JSONObject getDetail_goods_C=goodCTools.getDetail_goods_C(goodsId,info);
String id=getDetail_goods_C.getJSONObject("result").getJSONObject("multiSpecInfo").getJSONArray("specCombinationList").getJSONObject(0).getString("id");
BigDecimal price=new BigDecimal(getDetail_goods_C.getJSONObject("result").getJSONObject("multiSpecInfo").getJSONArray("specCombinationList").getJSONObject(0).getString("price"));
int inventory=Integer.parseInt(getDetail_goods_C.getJSONObject("result").getJSONObject("multiSpecInfo").getJSONArray("specCombinationList").getJSONObject(0).getString("inventory"));
boolean checkAllowPurchase=Boolean.parseBoolean(goodCTools.checkAllowPurchase(id,memberId,"0.00",inventory).getJSONObject("result").getString("success"));
//校验一下物品购买是否可以通过,为true才可以
if(checkAllowPurchase==true){
//购买非0元多规格物品
JSONObject purchaseGoods=new JSONObject();
purchaseGoods.put("depositAmount","0.00");
purchaseGoods.put("depositCardId",null);
purchaseGoods.put("memberId",memberId);
purchaseGoods.put("memo","");
purchaseGoods.put("objectId", RandomStringUtil.randomString(16));
purchaseGoods.put("receivableAmount",price);
purchaseGoods.put("goodsSpecId",id);
purchaseGoods.put("price",price);
purchaseGoods.put("quantity",1);
purchaseGoods.put("studioId",dataApi.getLoginInfo().getStudioId());
xmAppApi.doRequest(RequestType.JSON, params, purchaseGoods.toString(), headers).assetsSuccess(true);
JSONObject purchaseGoodsResponse = xmAppApi.getBodyInJSON();
String orderId=purchaseGoodsResponse.getJSONObject("result").getString("id");
//校验1:获取B端详情:待支付状态
JSONObject getDetailResult = orderTools.getDetail(orderId,info);
String businessNo= getDetailResult.getJSONObject("result").getString("businessNo");//订单号
String state=getDetailResult.getJSONObject("result").getString("state");
Assert.assertEquals(state,"PAID","未生成已完成物品订单");
}
else {
System.out.println("物品购买校验未通过,不能下单");
}
}
}
...@@ -296,7 +296,7 @@ public class GoodTools extends XMBaseTest { ...@@ -296,7 +296,7 @@ public class GoodTools extends XMBaseTest {
jsonObject.put("groupId", "1873912725360504834"); jsonObject.put("groupId", "1873912725360504834");
jsonObject.put("multiSpec", true); jsonObject.put("multiSpec", true);
jsonObject.put("name", "自动化创建三个规格" + RandomStringUtil.randomString(2)); jsonObject.put("name", "自动化创建三规格" + RandomStringUtil.randomString(3));
jsonObject.put("xcxSaleState",xcxSaleState); jsonObject.put("xcxSaleState",xcxSaleState);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment