Commit ae9eab9f by xyy

更新case

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