Commit ae9eab9f by xyy

更新case

parent 07358f94
......@@ -76,6 +76,7 @@ public class CardTools extends XMBaseTest {
return dataApi.getBodyInJSON();
}
/**
* 快速创建会员卡次卡-存量数据: 嘟嘟创建的会员卡-次卡
*
......@@ -364,7 +365,7 @@ public class CardTools extends XMBaseTest {
* @description:手动扣次
* @author: yangjian
**/
public JSONObject manualDeduct(String benefitId, String memberCardId, DataUserInfo... dataUserInfos) {
public JSONObject manualDeduct(String benefitId, String memberCardId,String balance, DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Polar_Card)
.setApiName("API_manualDeduct")
......@@ -373,7 +374,7 @@ public class CardTools extends XMBaseTest {
JSONObject object = new JSONObject();
object.put("balance",1);
object.put("balance",balance);//手动扣次数,若是储值卡可以是小数
object.put("benefitId",benefitId);
List deductList = new ArrayList();
......@@ -388,8 +389,7 @@ public class CardTools extends XMBaseTest {
jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response = dataApi.getBodyInJSON();
return response;
return dataApi.getBodyInJSON();
}
/**
......@@ -415,8 +415,7 @@ public class CardTools extends XMBaseTest {
jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response = dataApi.getBodyInJSON();
return response;
return dataApi.getBodyInJSON();
}
/**
......@@ -655,10 +654,10 @@ public class CardTools extends XMBaseTest {
JSONObject jsonObject = new JSONObject();
jsonObject.put("memberCardId",memberCardId);
jsonObject.put("operatorId",xmAppApi.getLoginInfo().getAdminId());
jsonObject.put("operatorId",dataApi.getLoginInfo().getAdminId());
jsonObject.put("sharerIds",new JSONArray());
jsonObject.put("brandId",xmAppApi.getLoginInfo().getBrandId());
jsonObject.put("studioId",xmAppApi.getLoginInfo().getStudioId());
jsonObject.put("brandId",dataApi.getLoginInfo().getBrandId());
jsonObject.put("studioId",dataApi.getLoginInfo().getStudioId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
}
......
......@@ -5,11 +5,11 @@ 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.XMBaseTest;
import com.xiaomai.utils.XMJSONPath;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import javax.annotation.Resource;
......@@ -19,6 +19,9 @@ public class TestDiscardManualDeduct extends XMBaseTest {
@Resource(name = "cardTools")
CardTools cardTools;
public String benefitId;
public String memberCardId = "";
@BeforeMethod
public void beforeTest(){
xmAppApi.setApiModule(ApiModule.Polar_Card)
......@@ -30,41 +33,55 @@ public class TestDiscardManualDeduct extends XMBaseTest {
.setCase_name(Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);
super.beforeTest();
}
@Test(description = "撤销手动扣次")
public void testDiscardManualDeduct() {
cardTools.memberCardSearch("NORMAL");
String benefitId = XMJSONPath.readPath(dataApi.getApi_response(), "$.result.records[0].courseBenefit.id");//拿售卖记录第一张【生效中】售卖的会员卡的ID;
String memberCardId = XMJSONPath.readPath(dataApi.getApi_response(), "$.result.records[0].id");//拿售卖记录第一张【生效中】会员卡的ID;
//JSONObject bodyJson1 =Cardtools.memberCardFindDetailById(memberCardId);
//int num1 = Integer.parseInt(XMJSONPath.readPath(bodyJson1,"$.result.courseBenefit.leftPurchaseBalance"));
cardTools.manualDeduct(benefitId,memberCardId);//手动扣次
cardTools.fetchPageOfConsumeRecord(benefitId,memberCardId);
String consumeRecordId=XMJSONPath.readPath(dataApi.getApi_response(), "$.result.records[0].id");//拿第一条消耗记录
Assert.assertTrue(XMJSONPath.readPath(dataApi.getApi_response(),"$.result.records[0].consumeType").equals("MANUAL_DEDUCT"),"操作手动扣次,消耗记录第一条操作类型");
Assert.assertTrue(XMJSONPath.readPath(dataApi.getApi_response(),"$.result.records[0].changeOfPurchaseBalance").equals("-1.00"),"操作手动扣次,消耗次数");
//JSONObject bodyJson2 =Cardtools.memberCardFindDetailById(memberCardId);
//int num2 = Integer.parseInt(XMJSONPath.readPath(bodyJson2,"$.result.courseBenefit.leftPurchaseBalance"));
//Assert.assertTrue(num1 == num2+1);//手动扣次后减少一次
@DataProvider
public Object[][] dataProvider(){
return new Object[][]{
{"MEMBER","1.00"},//会员卡,扣整数
{"EXPERIENCE","1.00"},//体验卡,扣整数
{"DEPOSIT","0.01"}//储值卡,扣小数
};
}
@Test(description = "手动扣次-->撤销手动扣次",dataProvider = "dataProvider")
public void testDiscardManualDeduct(String cardType,String balance) throws InterruptedException {
//查询生效中的卡列表
cardTools.memberCardSearch(cardType,"NORMAL");
//先检查列表有没有数据,有数据才会执行下面的点代码(如果是个空机构,肯定不会被执行,想从存量数据中获取,需要自己先造个数据)
int listDatas = XMJSONPath.getJSONArrayByReadPath(dataApi.getApi_response(), "$.result.records").size();
if (listDatas > 0) {
memberCardId = XMJSONPath.readPath(dataApi.getApi_response(), "$.result.records[0].id");//拿售卖记录第一张【生效中】会员卡的ID;
if(cardType=="DEPOSIT"){
benefitId = XMJSONPath.readPath(dataApi.getApi_response(), "$.result.records[0].depositBenefit.id");//储值卡权益id;
}else{
benefitId = XMJSONPath.readPath(dataApi.getApi_response(), "$.result.records[0].courseBenefit.id");//会员卡/体验卡权益id;
}
//先查询消耗记录的条数
int num = Integer.parseInt(XMJSONPath.readPath(cardTools.fetchPageOfConsumeRecord(benefitId,memberCardId),"$.result.total"));
//对卡操作手动扣次
cardTools.manualDeduct(benefitId,memberCardId,balance);
//获取手动扣次生成的消耗记录id
String consumeRecordId = XMJSONPath.readPath(cardTools.fetchPageOfConsumeRecord(benefitId,memberCardId), "$.result.records[0].id");
//check卡的消耗记录新增1条记录,并且校验消耗记录的类型及扣除次数的准确性
Assert.assertTrue(Integer.parseInt(XMJSONPath.readPath(cardTools.fetchPageOfConsumeRecord(benefitId,memberCardId),"$.result.total"))==num+1);
Assert.assertTrue(XMJSONPath.readPath(cardTools.fetchPageOfConsumeRecord(benefitId,memberCardId),"$.result.records[0].consumeType").equals("MANUAL_DEDUCT"),"操作手动扣次,消耗记录第一条操作类型");
Assert.assertTrue(XMJSONPath.readPath(cardTools.fetchPageOfConsumeRecord(benefitId,memberCardId),"$.result.records[0].changeOfPurchaseBalance").equals("-" + balance),"操作手动扣次,消耗次数");
JSONObject jsonObject = new JSONObject();
jsonObject.put("consumeRecordId",consumeRecordId);
jsonObject.put("memberCardId",memberCardId);
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);
cardTools.fetchPageOfConsumeRecord(benefitId,memberCardId);
//构建参数
JSONObject jsonObject = new JSONObject();
jsonObject.put("consumeRecordId",consumeRecordId);
jsonObject.put("memberCardId",memberCardId);
jsonObject.put("brandId",xmAppApi.getLoginInfo().getBrandId());
jsonObject.put("studioId",xmAppApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId",xmAppApi.getLoginInfo().getAdminId());
Assert.assertTrue(XMJSONPath.readPath(dataApi.getApi_response(),"$.result.records[0].consumeType").equals("DISCARD_MANUAL_DEDUCT"),"操作手动扣次,消耗记录第一条操作类型");
Assert.assertTrue(XMJSONPath.readPath(dataApi.getApi_response(),"$.result.records[0].changeOfPurchaseBalance").equals("1.00"),"操作撤销手动扣次,消耗次数");
//调用请求
xmAppApi.doRequest(RequestType.JSON, params, jsonObject.toJSONString(), headers).assetsSuccess(true);
//JSONObject bodyJson3 =Cardtools.memberCardFindDetailById(memberCardId);
//int num3 = Integer.parseInt(XMJSONPath.readPath(bodyJson2,"$.result.courseBenefit.leftPurchaseBalance"));
//Assert.assertTrue(num1 == num3);//撤销后和原来一样的次数
//check卡的消耗记录再次新增1条记录,并且校验消耗记录的类型及扣除次数的准确性
Assert.assertTrue(Integer.parseInt(XMJSONPath.readPath(cardTools.fetchPageOfConsumeRecord(benefitId,memberCardId),"$.result.total"))==num+2);
Assert.assertTrue(XMJSONPath.readPath(cardTools.fetchPageOfConsumeRecord(benefitId,memberCardId),"$.result.records[0].consumeType").equals("MANUAL_DEDUCT"),"操作手动扣次,消耗记录第一条操作类型");
Assert.assertTrue(XMJSONPath.readPath(cardTools.fetchPageOfConsumeRecord(benefitId,memberCardId),"$.result.records[0].changeOfPurchaseBalance").equals(balance),"操作手动扣次,消耗次数");
Thread.sleep(3000);
}
}
}
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