Commit 8452a6b9 by DuJunLi
parents 35c2a785 941f334a
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="物品场景case"> <!-- 起一个好听且唯一的名字-->
<test name="物品设置模块测试" preserve-order="true" verbose="3"> <!-- 再起一个听且唯一的名字 -->
<packages>
<package name="com.xiaomai.cases.polar.goods.*"></package> <!-- 添加自己想要集成测试的case 范围自己定 -->
</packages>
</test>
<listeners>
<listener class-name="com.xiaomai.client.RetryListener" />
<listener class-name="com.xiaomai.client.TestListener" />
<listener class-name="com.xiaomai.client.ExtentTestNGIReporterListener"/>
</listeners>
</suite>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<test name="通用设置模块测试" preserve-order="true" verbose="3"> <!-- 再起一个听且唯一的名字 --> <test name="通用设置模块测试" preserve-order="true" verbose="3"> <!-- 再起一个听且唯一的名字 -->
<packages> <packages>
<package name="com.xiaomai.cases.polar.setting.*"></package> <!-- 添加自己想要集成测试的case 范围自己定 --> <package name="com.xiaomai.cases.polar.setting.*"></package> <!-- 添加自己想要集成测试的范围自己定 -->
</packages> </packages>
</test> </test>
<listeners> <listeners>
......
package com.xiaomai.cases.lunar.goods;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.client.DataUserInfo;
import com.xiaomai.enums.ApiModule;
import com.xiaomai.enums.RequestType;
import com.xiaomai.enums.Terminal;
import com.xiaomai.utils.RandomStringUtil;
import com.xiaomai.utils.XMBaseTest;
import java.math.BigDecimal;
public class GoodCTools extends XMBaseTest {
/**
* @param
* @description:C端获取物品列表
* @author: yff
**/
public JSONObject pageXcxHomeGoodsC(DataUserInfo...userInfos){
dataApi.setApiModule(ApiModule.Lunar_Goods)
.setApiName("API_pageXcxHomeGoodsC")
.setTerminal(Terminal.minApp);
super.beforeDataRequest(userInfos);
JSONObject jsonObject = new JSONObject();
jsonObject.put("current", 0);
jsonObject.put("size",20);
jsonObject.put("studioId",dataApi.getLoginInfo().getStudioId());
JSONArray ids=new JSONArray();
jsonObject.put("ids",ids);
dataApi.doRequest(RequestType.JSON,dataparams,jsonObject.toString(),dataheadrs).assetsSuccess(true);
return dataApi.getBodyInJSON();
}
/**
* @param
* @description:获取C端的物品详情
* @param id:物品ID
* @author: yff
**/
public JSONObject getDetail_goods_C(String id, DataUserInfo...userInfos){
dataApi.setApiModule(ApiModule.Lunar_Goods)
.setApiName("API_getDetail_goods_C")
.setTerminal(Terminal.minApp);
super.beforeDataRequest(userInfos);
JSONObject jsonObject = new JSONObject();
jsonObject.put("id",id);
dataApi.doRequest(RequestType.JSON,dataparams,jsonObject.toString(),dataheadrs).assetsSuccess(true);
return dataApi.getBodyInJSON();
}
/**
* @param
* @description:拉取C端小程序物品组列表
* @author: yff
**/
public JSONObject listXcxGoodsGroup(DataUserInfo...userInfos){
dataApi.setApiModule(ApiModule.Lunar_Goods)
.setApiName("API_listXcxGoodsGroup")
.setTerminal(Terminal.minApp);
super.beforeDataRequest(userInfos);
JSONObject listXcxGoodsGroup=new JSONObject();
listXcxGoodsGroup.put("studioId",dataApi.getLoginInfo().getStudioId());
JSONArray ids=new JSONArray();
listXcxGoodsGroup.put("ids",ids);
dataApi.doRequest(RequestType.JSON,dataparams,listXcxGoodsGroup.toString(),dataheadrs).assetsSuccess(true);
return dataApi.getBodyInJSON();
}
/**
* @param
* @description:C端购买物品前校验是否通过
* @author: yff
**/
public JSONObject checkAllowPurchase(String goodsSpecId, String memberId, BigDecimal 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();
}
/**
* @param
* @description:C端购买物品
* @author: yff
**/
public JSONObject purchaseGoods(String depositAmount, String depositCardId, String memberId,String memo, String receivableAmount,String id, BigDecimal price, int quantity, DataUserInfo...userInfos){
dataApi.setApiModule(ApiModule.Lunar_Goods)
.setApiName("API_purchaseGoods")
.setTerminal(Terminal.minApp);
super.beforeDataRequest(userInfos);
JSONObject purchaseGoods=new JSONObject();
purchaseGoods.put("depositAmount",depositAmount);
purchaseGoods.put("depositCardId",depositCardId);
purchaseGoods.put("memberId",memberId);
purchaseGoods.put("memo",memo);
purchaseGoods.put("objectId", RandomStringUtil.randomString(16));
purchaseGoods.put("receivableAmount",receivableAmount);
purchaseGoods.put("goodsSpecId",id);
purchaseGoods.put("price",price);
purchaseGoods.put("quantity",quantity);
purchaseGoods.put("studioId",dataApi.getLoginInfo().getStudioId());
dataApi.doRequest(RequestType.JSON,dataparams,purchaseGoods.toString(),dataheadrs).assetsSuccess(true);
return dataApi.getBodyInJSON();
}
}
package com.xiaomai.cases.lunar.goods;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.basetest.BaseTestImpl;
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.Terminal;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
public class TestListXcxGoodsGroup extends BaseTestImpl {
GoodCTools goodCTools=new GoodCTools();
GoodTools goodTools=new GoodTools();
String createGoodsId;
DataUserInfo info = new DataUserInfo();
@BeforeMethod
@Override
public void beforeTest(){
setTestInfo(ApiModule.Lunar_Goods,"API_listXcxGoodsGroup", LoginAccount.GYM_MINIAPPC, Terminal.minApp,"yff");
super.beforeTest();
}
@Test(description = "拉取C端小程序物品组列表")
public void testListXcxGoodsGroup() {
//切换端位
info.setTerminal(Terminal.B);
info.setLoginUser(LoginAccount.GYM_PROD);
//存量分组:"id": "1873903771989471234","name": "自动化分组勿动勿用"
String id="1873903771989471234";
//case1:获取小程序物品分组列表:没有这个分组数据,因为没任何物品
JSONObject listXcxGoodsGroup=goodCTools.listXcxGoodsGroup();
JSONArray result=listXcxGoodsGroup.getJSONArray("result");
boolean success=false;
for(int i=0;i<result.size();i++){
if( ! result.getJSONObject(1).getString("id").equals(id)){
success=true;
break;
}
}
Assert.assertEquals(success,true,"分组里没有一个物品,这个分组不应该在小程序物品组列表展示");
//case2:获取小程序物品分组列表:有这个分组数据,因为创建了一个单规格&启用&开启小程序售卖的物品
//新建物品
//创建了一个单规格&启用&开启小程序售卖
JSONObject createGoods=goodTools.createGoods_single("YES","0.01",10,info);
createGoodsId=createGoods.getString("result");
//移动至这个分组
JSONObject batchModifyGoodsBelongGroup=goodTools.batchModifyGoodsBelongGroup("1873903771989471234",createGoodsId,info);
String batchModifyGoodsBelongGroupSuccess=batchModifyGoodsBelongGroup.getJSONObject("result").getString("success");
Assert.assertEquals(batchModifyGoodsBelongGroupSuccess,"1","移动一个物品至该分组失败");
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
//获取小程序物品分组列表:有该分组
JSONObject listXcxGoodsGroup1=goodCTools.listXcxGoodsGroup();
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
JSONArray result1=listXcxGoodsGroup1.getJSONArray("result");
JSONObject result0= result1.getJSONObject(0);
System.out.println("result1"+result1);
System.out.println("result11"+result0);
boolean success1=false;
for(int i=0;i < result1.size();i++){
if(result1.getJSONObject(i).getString("id").equals(id)){
success1=true;
break;
}
}
Assert.assertEquals(success1,true,"分组的物品是启用且开启小程序售卖的,这个分组应该在小程序物品组列表展示");
//case3:获取小程序物品分组列表:没有这个分组数据,因为分组内的物品为启用&关闭小程序售卖
//修改上个物品为启用&关闭小程序售卖
JSONObject modifyGoodsXcxSaleState=goodTools.modifyGoodsXcxSaleState(createGoodsId,"NO",info);
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
//修改校验1:获取B端物品详情
JSONObject getDetail=goodTools.getDetail_goods(createGoodsId,info);
String xcxSaleState=getDetail.getJSONObject("result").getString("xcxSaleState");
Assert.assertEquals(xcxSaleState,"NO","修改物品的小程序售卖为关闭失败");
//获取小程序物品分组列表:没有该分组
JSONObject listXcxGoodsGroup2=goodCTools.listXcxGoodsGroup();
JSONArray result2=listXcxGoodsGroup2.getJSONArray("result");
boolean success2=false;
for(int i=0;i<result2.size();i++){
if( ! result2.getJSONObject(1).getString("id").equals(id)){
success2=true;
break;
}
}
Assert.assertEquals(success2,true,"分组的物品是启用且关闭小程序售卖的,这个分组应该不在小程序物品组列表展示");
//case4:获取小程序物品分组列表:没有这个分组数据,因为分组内的物品为停用&关闭小程序售卖
//修改上个物品为停用&关闭小程序售卖
JSONObject modifyGoodsState=goodTools.modifyGoodsState(createGoodsId,"NO",info);
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
//修改校验1:获取B端物品详情
JSONObject getDetail1=goodTools.getDetail_goods(createGoodsId,info);
String state=getDetail1.getJSONObject("result").getString("state");
Assert.assertEquals(state,"NO","修改物品的状态为停用失败");
//获取小程序物品分组列表:没有该分组
JSONObject listXcxGoodsGroup3=goodCTools.listXcxGoodsGroup();
JSONArray result3=listXcxGoodsGroup3.getJSONArray("result");
boolean success3=false;
for(int i=0;i<result3.size();i++){
if( ! result3.getJSONObject(1).getString("id").equals(id)){
success3=true;
break;
}
}
Assert.assertEquals(success3,true,"分组的物品是停用且关闭小程序售卖的,这个分组应该不在小程序物品组列表展示");
}
@Test(description = "清理物品数据",priority = 1)
public void delete() {
goodTools.deleteGoods(createGoodsId,info);
}
}
...@@ -9,7 +9,6 @@ import com.xiaomai.enums.LoginAccount; ...@@ -9,7 +9,6 @@ import com.xiaomai.enums.LoginAccount;
import com.xiaomai.enums.RequestType; import com.xiaomai.enums.RequestType;
import com.xiaomai.enums.Terminal; import com.xiaomai.enums.Terminal;
import org.testng.Assert; import org.testng.Assert;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.BeforeMethod; import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test; import org.testng.annotations.Test;
...@@ -57,7 +56,7 @@ public class TestStudioRoleCreate extends BaseTestImpl { ...@@ -57,7 +56,7 @@ public class TestStudioRoleCreate extends BaseTestImpl {
xmAppApi.doRequest(RequestType.JSON,params,body,headers).assetsSuccess(true); xmAppApi.doRequest(RequestType.JSON,params,body,headers).assetsSuccess(true);
try { try {
Thread.sleep(3000); Thread.sleep(6000);
} catch (InterruptedException e) { } catch (InterruptedException e) {
throw new RuntimeException(e); throw new RuntimeException(e);
} }
...@@ -84,7 +83,7 @@ public class TestStudioRoleCreate extends BaseTestImpl { ...@@ -84,7 +83,7 @@ public class TestStudioRoleCreate extends BaseTestImpl {
Assert.assertEquals(flag,true,"创建角色失败"); Assert.assertEquals(flag,true,"创建角色失败");
try { try {
Thread.sleep(3000); Thread.sleep(10000);
} catch (InterruptedException e) { } catch (InterruptedException e) {
throw new RuntimeException(e); throw new RuntimeException(e);
} }
......
package com.xiaomai.cases.polar.finance.cashier;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.cases.polar.finance.order.OrderTools;
import com.xiaomai.cases.polar.member.Tools;
import com.xiaomai.cases.polar.memberCard.CardTools;
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 com.xiaomai.utils.TimeUtils;
import com.xiaomai.utils.XMBaseTest;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import java.math.BigDecimal;
public class TestOfflinePay extends XMBaseTest {
String memberId;
String cardId;
String getDetailId;
Tools tools=new Tools();
OrderTools orderTools=new OrderTools();
CardTools cardTools=new CardTools();
@BeforeMethod
public void beforeTest(){
xmAppApi.setApiModule(ApiModule.Polar_Finance)
.setApiName("API_offlinePay")
.setLoginUser(LoginAccount.YFF_PROD)
.setTerminal(Terminal.B);
dal.setCase_owner("yff")
.setCase_name(Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);
super.beforeTest();
}
@Test(description = "线下支付订单(实际是操作关联流水调用)")
public void testOfflinePay(){
//10020060066--固定流水,换场馆需要按照这个手机支付0.01元 "flowIds": ["1808757176611880962"]
//
// String name = "创建订单潜在会员"+ RandomStringUtil.randomString(3);
// String phone = RandomStringUtil.randomMobile("666");
//
// //获取会员ID,没有则新建一个
// int memberTotal = Integer.parseInt(tools.search("NORMAL","NORMAL").getJSONObject("result").getString("total"));
// if (memberTotal == 0) {
// memberId = tools.create(name,phone).getString("result");
// }
// memberId=tools.search("NORMAL","NORMAL").getJSONObject("result").getJSONArray("records").getJSONObject(0).getString("id");
//
// try {
// Thread.sleep(1000);
// } catch (InterruptedException e) {
// throw new RuntimeException(e);
// }
//
// //获取会员卡信息
// //获取会员卡列表,没有则新建一个
// int cardTotal = Integer.parseInt(orderTools.fetchPageOfMemberCard("次卡","MEMBER_CARD").getJSONObject("result").getString("total"));
// if (cardTotal == 0) {
// cardId = cardTools.memberCardCreate("次卡-创建订单会员卡"+ TimeUtils.getCurrentTime()).getString("result");
// }
// JSONObject memberCard=orderTools.fetchPageOfMemberCard("次卡","MEMBER_CARD");
// cardId=memberCard.getJSONObject("result").getJSONArray("records").getJSONObject(0).getString("id");
// BigDecimal quantity= new BigDecimal(memberCard.getJSONObject("result").getJSONArray("records").getJSONObject(0).getString("balance"));
// float price= Float.parseFloat(memberCard.getJSONObject("result").getJSONArray("records").getJSONObject(0).getString("price"));
// int validPeriod= Integer.parseInt(memberCard.getJSONObject("result").getJSONArray("records").getJSONObject(0).getString("validPeriod"));
//
// try {
// Thread.sleep(1000);
// } catch (InterruptedException e) {
// throw new RuntimeException(e);
// }
//
// //获取签单要用的卡快照id
// String latestSnapshotId=orderTools.fetchDetailById(cardId,xmAppApi.getLoginInfo().getBrandId(),xmAppApi.getLoginInfo().getStudioId(),xmAppApi.getLoginInfo().getAdminId()).getJSONObject("result").getString("latestSnapshotId");
//
// try {
// Thread.sleep(1000);
// } catch (InterruptedException e) {
// throw new RuntimeException(e);
// }
//
// //检查会员对该卡是否超出购买上限
// boolean limitResult=orderTools.checkAllowPurchase("MEMBER_CARD",cardId,memberId,"1",xmAppApi.getLoginInfo().getBrandId(),xmAppApi.getLoginInfo().getStudioId(),xmAppApi.getLoginInfo().getAdminId()).getBoolean("success");
//
// try {
// Thread.sleep(1000);
// } catch (InterruptedException e) {
// throw new RuntimeException(e);
// }
//
//
// if(limitResult == true) {
//
// //创建待支付订单
//
// //创建待支付订单
// JSONObject orderResult=orderTools.signOrder(cardId,latestSnapshotId,quantity,price,validPeriod,latestSnapshotId, price/2,"PURCHASE",
// "MEMBER_CARD",memberId,price-price/2,0,"1",false);
// String getDetailId=orderResult.getString("result");//订单ID
//
//// JSONObject orderResult = orderTools.signOrder(cardId, latestSnapshotId, quantity, price, validPeriod, latestSnapshotId, price / 2, "PURCHASE",
//// "MEMBER_CARD", memberId, price - price / 2, 0, "6");
//// getDetailId = orderResult.getString("result");//订单ID
//
//
// try {
// Thread.sleep(3000);
// } catch (InterruptedException e) {
// throw new RuntimeException(e);
// }
//
//
//
// //关联流水
// JSONObject jsonObject=new JSONObject();
//
// JSONArray flowIds=new JSONArray();
// flowIds.add("1808757176611880962");
// jsonObject.put("flowIds",flowIds);
// jsonObject.put("voucherId",getDetailId);
// jsonObject.put("brandId",xmAppApi.getLoginInfo().getBrandId());
// jsonObject.put("studioId",xmAppApi.getLoginInfo().getStudioId());
// jsonObject.put("operatorId",xmAppApi.getLoginInfo().getAdminId());
//
// xmAppApi.doRequest(RequestType.JSON,params,jsonObject.toJSONString(),headers).assetsSuccess(true);
// String result=xmAppApi.getBodyInJSON().getString("result");
// Assert.assertEquals(result,"true","关联流水失败");
//
// try {
// Thread.sleep(3000);
// } catch (InterruptedException e) {
// throw new RuntimeException(e);
// }
//
// //校验关联流水之后,订单状态变成已完成
// //获取订单详情
//
// //校验获取订单详情
// JSONObject getDetailResult=orderTools.getDetail(getDetailId);
// String state=getDetailResult.getJSONObject("result").getString("state");
// Assert.assertEquals(state,"PAID","关联流水成功,但订单状态未是已完成");
//
//
//
// //关联之后一定要把签单订单作废!!否则下次流水就不能关联了
// //校验是否可以作废签单订单
// boolean checkDiscardSignVoucherResult = orderTools.checkDiscardVoucher(getDetailId).getBoolean("success");
//
// try {
// Thread.sleep(1000);
// } catch (InterruptedException e) {
// throw new RuntimeException(e);
// }
//
// if (checkDiscardSignVoucherResult == true) {
// JSONObject discardResult = orderTools.discard(getDetailId, "重复录入", "已作废签单订单" + RandomStringUtil.randomString(10));
// Assert.assertEquals(discardResult.getString("success"), "true", "签单订单作废失败");
// }
//
// }
}
}
...@@ -926,6 +926,48 @@ public class OrderTools extends XMBaseTest { ...@@ -926,6 +926,48 @@ public class OrderTools extends XMBaseTest {
return response; return response;
} }
/**
* @param
* @description:继续收款
* @param unpaidAmount:欠费金额
* @param getDetailId:订单ID
* @param paymentWay:支付方式 1-线下微信 2 3
* @param directReceive:true待补交 false待支付
* @author: yangfangfang
**/
public JSONObject pay_unpaid(BigDecimal unpaidAmount,String paymentWay,String getDetailId,boolean directReceive, DataUserInfo...dataUserInfos){
dataApi.setApiModule(ApiModule.Polar_Finance)
.setApiName("API_pay")
.setTerminal(Terminal.B);
super.beforeDataRequest(dataUserInfos);
JSONObject jsonObject = new JSONObject();
jsonObject.put("operationTime", TimeUtils.getCurrentTime());
jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId());
JSONArray paymentWays = new JSONArray();
JSONObject jsonObject1 = new JSONObject();
jsonObject1.put("amount", unpaidAmount);
jsonObject1.put("paymentWay",paymentWay);
JSONArray voucherResourceIds = new JSONArray();
voucherResourceIds.add("");
jsonObject1.put("voucherResourceIds", voucherResourceIds);
paymentWays.add(jsonObject1);
jsonObject.put("paymentWays", paymentWays);
jsonObject.put("voucherId", getDetailId);
jsonObject.put("directReceive",directReceive);
jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId());
jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response=dataApi.getBodyInJSON();
return response;
}
/** /**
......
package com.xiaomai.cases.polar.goods;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.cases.polar.goods.Tools.GoodTools;
import com.xiaomai.enums.ApiModule;
import com.xiaomai.enums.LoginAccount;
import com.xiaomai.enums.Terminal;
import com.xiaomai.utils.XMBaseTest;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
public class TestCreateGoodsGroup extends XMBaseTest {
GoodTools goodTools=new GoodTools();
String name1="自动化创建分组";
String name2="自动化编辑分组";
String createId;
String groupId;
@BeforeMethod
public void beforeTest() {
xmAppApi.setApiModule(ApiModule.Polar_Goods)
.setApiName("API_createGoodsGroup")
.setLoginUser(LoginAccount.GYM_PROD)
.setTerminal(Terminal.B);
dal.setCase_owner("yff")
.setCase_name(Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);
super.beforeTest();
}
@Test(description = "创建分组")
public void testCreateGoodsGroup() {
name1="自动化创建分组";
//创建之前先看下列表的分组是不是10个,大于等于10就不走新建分组这个case了
JSONObject listPageGoodsGroup=goodTools.listPageGoodsGroup();
JSONArray listPageGoodsGroup_result=listPageGoodsGroup.getJSONArray("result");
if(listPageGoodsGroup_result.size()<10){
//创建之前先校验重名不重名
Boolean checkNameRepeatGoodsGroup=Boolean.parseBoolean(goodTools.checkNameRepeatGoodsGroup(name1).getString("result"));
if (checkNameRepeatGoodsGroup==false){
//创建分组
JSONObject createGoodsGroup=goodTools.createGoodsGroup(name1);
groupId=createGoodsGroup.getString("result");
//校验分组是否创建成功
//校验1:B端分组列表中是否有这个分组
JSONObject afterListPageGoodsGroup=goodTools.listPageGoodsGroup();
JSONArray afterListPageGoodsGroup_result=afterListPageGoodsGroup.getJSONArray("result");
boolean success=false;
for(int i=0; i < afterListPageGoodsGroup_result.size(); i++){
if(afterListPageGoodsGroup_result.getJSONObject(i).getString("id").equals(groupId)){
success=true;
break;
}
}
Assert.assertEquals(success,true,"新建分组成功,但是分组中未找到对应的分组ID");
//校验2:新建物品拉取分组名称的时候也有此条数据
JSONObject listGoodsGroup=goodTools.listGoodsGroup();
JSONArray listGoodsGroupResult=listGoodsGroup.getJSONArray("result");
boolean success_listGoodsGroup=false;
for(int i=0;i < listGoodsGroupResult.size();i++){
if(listGoodsGroupResult.getJSONObject(i).getString("id").equals(groupId)){
success_listGoodsGroup=true;
break;
}
}
Assert.assertEquals(success_listGoodsGroup,true,"新建分组成功,但分组中未找到对应的分组ID");
//新建一个物品
JSONObject create=goodTools.createGoods_multiple("YES","0.01",10);
createId=create.getString("result");
//新建分组成功后,批量移动物品至其分组
JSONObject jsonObject=goodTools.batchModifyGoodsBelongGroup(groupId,createId);
//移动至其分组校验
//校验1:该分组物品数量为1
JSONObject afterListPageGoodsGroup_count=goodTools.listPageGoodsGroup();
JSONArray afterListPageGoodsGroup_result_count=afterListPageGoodsGroup_count.getJSONArray("result");
for(int i=0; i < afterListPageGoodsGroup_result_count.size(); i++){
if(afterListPageGoodsGroup_result_count.getJSONObject(i).getString("id").equals(groupId)){
String goodsCount=afterListPageGoodsGroup_result_count.getJSONObject(0).getString("goodsCount");
Assert.assertEquals(goodsCount,"1","批量移动1个数据至该分组之后,该分组下物品数不为1");
}
}
Boolean checkNameRepeatGoodsGroup_modify=Boolean.parseBoolean(goodTools.checkNameRepeatGoodsGroup(name2).getString("result"));
if (checkNameRepeatGoodsGroup_modify==false) {
//编辑分组
JSONObject modifyGoodsGroup=goodTools.modifyGoodsGroup(groupId,name2);
//编辑之后校验编辑是否成功
//校验1:分组列表中有这个修改后的分组名称
JSONObject afterListPageGoodsGroup_modify=goodTools.listPageGoodsGroup();
JSONArray afterListPageGoodsGroup_result_modify=afterListPageGoodsGroup_modify.getJSONArray("result");
boolean success_modify=false;
for(int i=0; i < afterListPageGoodsGroup_result_modify.size(); i++){
if(afterListPageGoodsGroup_result_modify.getJSONObject(i).getString("name").equals(name2)){
success_modify=true;
break;
}
}
Assert.assertEquals(success_modify,true,"编辑分组成功,但列表中没有编辑成功后的分组");
//校验2:新建物品拉取分组名称的时候也有此条编辑后的数据
JSONObject listGoodsGroup_modify=goodTools.listGoodsGroup();
JSONArray listGoodsGroupResult_modify=listGoodsGroup_modify.getJSONArray("result");
boolean success_listGoodsGroup_modify=false;
for(int i=0;i < listGoodsGroupResult_modify.size();i++){
if(listGoodsGroupResult_modify.getJSONObject(i).getString("id").equals(groupId)){
success_listGoodsGroup_modify=true;
break;
}
}
Assert.assertEquals(success_listGoodsGroup_modify,true,"编辑分组成功,但在新建物品时拉取分组未找到对应的分组ID");
}
else {
System.out.println("场馆已存在相同名称分组");
}
}
else {
System.out.println("场馆已存在相同名称分组");
}
}
else{
System.out.println("分组列表已经超过10个");
}
}
@Test(description = "删除数据:物品和分组",priority = 1)
public void testDeleteGoodsGroup() {
//先删除物品
JSONObject deleteGoods=goodTools.deleteGoods(createId);
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
//再删除分组
//先校验分组下有没有物品,没有物品才可以删除
Boolean checkAllowDeleteSuccess=Boolean.parseBoolean(goodTools.checkAllowDelete(groupId).getJSONObject("result").getString("success"));
if(checkAllowDeleteSuccess==true) {
JSONObject deleteGoodsGroup = goodTools.deleteGoodsGroup(groupId);
//删除分组校验
//校验1:分组列表中没有这个物品
JSONObject afterListPageGoodsGroup=goodTools.listPageGoodsGroup();
JSONArray afterListPageGoodsGroup_result=afterListPageGoodsGroup.getJSONArray("result");
boolean success=false;
for(int i=0; i < afterListPageGoodsGroup_result.size(); i++){
if( ! afterListPageGoodsGroup_result.getJSONObject(i).getString("id").equals(groupId)){
success=true;
break;
}
}
Assert.assertEquals(success,true,"删除分组成功,但列表中还有此条数据");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
//校验2:新建物品拉取分组名称的时候没有此条编辑后的数据
JSONObject listGoodsGroup=goodTools.listGoodsGroup();
JSONArray listGoodsGroupResult=listGoodsGroup.getJSONArray("result");
boolean success_listGoodsGroup=false;
for(int i=0;i < listGoodsGroupResult.size();i++){
if( ! listGoodsGroupResult.getJSONObject(i).getString("id").equals(groupId)){
success_listGoodsGroup=true;
break;
}
}
Assert.assertEquals(success_listGoodsGroup,true,"删除分组成功,但在新建物品时拉取分组还有此条数据");
}
else {
System.out.println("该分组下有物品,不可删除");
}
}
}
package com.xiaomai.cases.polar.goods;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.cases.polar.goods.Tools.GoodTools;
import com.xiaomai.enums.ApiModule;
import com.xiaomai.enums.LoginAccount;
import com.xiaomai.enums.RequestType;
import com.xiaomai.enums.Terminal;
import com.xiaomai.utils.XMBaseTest;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
public class TestDeleteGood extends XMBaseTest {
GoodTools goodTools=new GoodTools();
@BeforeMethod
public void beforeTest() {
xmAppApi.setApiModule(ApiModule.Polar_Goods)
.setApiName("API_delete")
.setLoginUser(LoginAccount.GYM_PROD)
.setTerminal(Terminal.B);
dal.setCase_owner("yff")
.setCase_name(Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);
super.beforeTest();
}
@Test(description = "删除物品")
public void testCreateGoods() {
//新建物品
JSONObject createGoods=goodTools.createGoods_multiple("YES","0.01",10);
String id=createGoods.getString("result");
//获取物品列表
JSONObject studioGoods= goodTools.studioGoods("");
JSONArray records=studioGoods.getJSONObject("result").getJSONArray("records");
boolean success=false;
for (int i=0;i<records.size();i++){
if(records.getJSONObject(i).getString("id").equals(id)){
success=true;
break;
}
}
Assert.assertEquals(success,true,"新建物品成功,但物品列表没有新增此条数据");
//删除物品
JSONObject jsonObject = new JSONObject();
jsonObject.put("id", id);
jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId());
jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId());
xmAppApi.doRequest(RequestType.JSON, params, jsonObject.toJSONString(), headers).assetsSuccess(true);
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
//校验1:物品列表中没有此数据
JSONObject afterStudioGoods= goodTools.studioGoods("");
JSONArray afterRecords=afterStudioGoods.getJSONObject("result").getJSONArray("records");
boolean afterSuccess=false;
for (int i=0;i<afterRecords.size();i++){
if( ! afterRecords.getJSONObject(i).getString("id").equals(id)){
afterSuccess=true;
break;
}
}
Assert.assertEquals(afterSuccess,true,"删除物品成功,但物品列表还有此条数据");
}
// @Test
// public void xun(){
// for(int i=0;i<20;i++){
// testCreateGoods();
// }
// }
}
\ No newline at end of file
...@@ -36,6 +36,8 @@ public class ApiModule { ...@@ -36,6 +36,8 @@ public class ApiModule {
public static String Polar_MemberEntry="polar_memberEntry";//入场 public static String Polar_MemberEntry="polar_memberEntry";//入场
public static String Polar_Export="polar_export";//导出 public static String Polar_Export="polar_export";//导出
public static String Polar_Goods="polar_goods";//物品
//小程序模块 //小程序模块
...@@ -48,6 +50,9 @@ public class ApiModule { ...@@ -48,6 +50,9 @@ public class ApiModule {
public static String Lunar_Training="lunar_training";//训练 public static String Lunar_Training="lunar_training";//训练
public static String Lunar_Share="lunar_share";//分享 public static String Lunar_Share="lunar_share";//分享
public static String Lunar_VenueArea="lunar_venueArea";//场地 public static String Lunar_VenueArea="lunar_venueArea";//场地
public static String Lunar_Goods="lunar_goods";//物品
public static String Lunar_Invitation = "lunar_invitation"; public static String Lunar_Invitation = "lunar_invitation";
} }
\ No newline at end of file
...@@ -20,5 +20,10 @@ public class LoginAccount { ...@@ -20,5 +20,10 @@ public class LoginAccount {
public static String XYY_PROD = "xyy_prod"; public static String XYY_PROD = "xyy_prod";
public static String DZHT_PROD = "dzht_prod"; // 电子合同账户 public static String DZHT_PROD = "dzht_prod"; // 电子合同账户
public static String YFF_PROD="yff_prod";
public static String YFF_RC="yff_rc";
public static String YFF_GRAY="yff_gray";//芳芳场馆
} }
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