Commit a60c73b8 by zhangyuxiao

体验卡

parent deb3de0e
package com.xiaomai.cases.polar.experienceCard;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.cases.polar.memberCard.CardTools;
import com.xiaomai.enums.ApiModule;
import com.xiaomai.enums.LoginAccount;
import com.xiaomai.enums.Terminal;
......@@ -10,6 +11,8 @@ import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import java.util.Random;
/**
* @Author zxy
* @Description
......@@ -17,13 +20,15 @@ import org.testng.annotations.Test;
*/
public class TestCreateExperienceCard extends XMBaseTest {
Tools tools = new Tools();
CardTools cardTools = new CardTools();
String id;
String title;
@BeforeMethod
public void beforeTest(){
xmAppApi.setApiModule(ApiModule.Polar_Card)
.setApiName("API_tenantMemberCard_create")
.setLoginUser(LoginAccount.ZYX1_DEV)
.setLoginUser(LoginAccount.GYM_PROD)
.setTerminal(Terminal.B);
dal.setCase_owner("zyx")
......@@ -33,17 +38,42 @@ public class TestCreateExperienceCard extends XMBaseTest {
@Test(description = "创建体验卡")
public void testCreateExperienceCard() {
Random random = new Random();
String title = "自动化脚本创建体验卡" + RandomStringUtil.randomString(3);
String[] benefit_all = {"课程次数入场次数","课程期限入场期限","课程次数入场期限","课程期限入场次数","课程期限","课程次数","入场期限","入场次数"};//权益
String benefit = benefit_all[random.nextInt(8)];
//check是否存在同名的体验卡,不存在则新建
Boolean duplicate = tools.checkTitleDuplicate(title, "EXPERIENCE_CARD").getBoolean("result");
if (duplicate == false) {
id = tools.create("EXPERIENCE_CARD",title,"全部","NO","课程次数_入场期限权益").getString("result");
for(int i=0;i<3;i++){
title = benefit+ RandomStringUtil.randomString(3)+"-自动化创建";
//check是否存在同名的体验卡,不存在则新建
Boolean duplicate = tools.checkTitleDuplicate(title, "EXPERIENCE_CARD").getBoolean("result");
if (duplicate == false) {
id = tools.create("EXPERIENCE_CARD",title,"全部","YES",benefit).getString("result");
break;
}
}
//新建后校验体验卡第一条数据是新建的那条数据
String id1 = tools.fetchPageOfMemberCard("EXPERIENCE_CARD","","","","").getJSONObject("result").getJSONArray("records").getJSONObject(0).getString("id");
Assert.assertEquals(id,id1);
//停用体验卡
cardTools.modifyMemberCardShelfState(id,"NO");
Assert.assertEquals(cardTools.fetchDetailById(id).getJSONObject("result").getString("shelfState"),"NO");
//启用体验卡
cardTools.modifyMemberCardShelfState(id,"YES");
Assert.assertEquals(cardTools.fetchDetailById(id).getJSONObject("result").getString("shelfState"),"YES");
//关闭小程序售卖
cardTools.modifyXcxSaleState(id,"NO");
Assert.assertEquals(cardTools.fetchDetailById(id).getJSONObject("result").getString("xcxSaleStatus"),"NO");
//开启小程序售卖
cardTools.modifyXcxSaleState(id,"YES");
Assert.assertEquals(cardTools.fetchDetailById(id).getJSONObject("result").getString("xcxSaleStatus"),"YES");
}
}
......@@ -123,39 +123,39 @@ public class Tools extends XMBaseTest {
//需要创建的权益类型,可以组合也可以单个权益
List benefitList = new ArrayList();
switch (benefit) {
case "课程次数_入场次数权益":
case "课程次数入场次数":
benefitList.add(benefit_course_balance);
benefitList.add(benefit_venue_balance);
price = course_price + venue_price;
break;
case "课程期限_入场期限权益":
case "课程期限入场期限":
benefitList.add(benefit_course_period);
benefitList.add(benefit_venue_period);
price = course_price + venue_price;
break;
case "课程次数_入场期限权益":
case "课程次数入场期限":
benefitList.add(benefit_course_balance);
benefitList.add(benefit_venue_period);
price = course_price + venue_price;
break;
case "课程期限_入场次数权益":
case "课程期限入场次数":
benefitList.add(benefit_course_period);
benefitList.add(benefit_venue_balance);
price = course_price + venue_price;
break;
case "课程期限权益":
case "课程期限":
benefitList.add(benefit_course_period);
price = course_price;
break;
case "课程次数权益":
case "课程次数":
benefitList.add(benefit_course_balance);
price = course_price;
break;
case "入场期限权益":
case "入场期限":
benefitList.add(benefit_venue_period);
price = venue_price;
break;
case "入场次数权益":
case "入场次数":
benefitList.add(benefit_venue_balance);
price = venue_price;
break;
......@@ -163,7 +163,7 @@ public class Tools extends XMBaseTest {
String description = "{\"items\":[{\"aspect\":\"\",\"type\":\"TEXT\",\"content\":\"自动化测试脚本创建\"}]}";
Random random = new Random();
String stock[] = {"","1","100"};
String stock[] = {"","10"};
JSONObject object = new JSONObject();
object.put("brandId", dataApi.getLoginInfo().getBrandId());
......@@ -189,7 +189,7 @@ public class Tools extends XMBaseTest {
object.put("surfaceUrl", "https://image.xiaomaiketang.com/xm/internal/GKH7tWJTXX.png");//封面
break;
case "EXPERIENCE_CARD":
object.put("stock",stock[random.nextInt(3)]);//剩余库存
object.put("stock",stock[random.nextInt(2)]);//剩余库存
object.put("purchaseMemberStateList", purchaseMemberStateList);//可购卡的会员状态
object.put("surfaceUrl", "https://image.xiaomaiketang.com/xm/internal/AHZTicf2k7.png");//封面
object.put("commodityCardType", "EXPERIENCE_CARD");//卡类型:体验卡
......@@ -202,6 +202,7 @@ public class Tools extends XMBaseTest {
}
//卡列表
public JSONObject fetchPageOfMemberCard(String commodityCardType,String filter,String courseId,String shelfState,String xcxSaleStatus,DataUserInfo...dataUserInfos) {
......@@ -234,8 +235,7 @@ public class Tools extends XMBaseTest {
}
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response=dataApi.getBodyInJSON();
return response;
return dataApi.getBodyInJSON();
}
}
......@@ -508,6 +508,22 @@ public class CardTools extends XMBaseTest {
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
}
public void modifyXcxSaleState(String memberCardId, String xcxSaleState, DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Polar_Card)
.setApiName("API_modifyXcxSaleState")
.setTerminal(Terminal.B);
super.beforeDataRequest(dataUserInfos);
JSONObject jsonObject = new JSONObject();
jsonObject.put("memberCardId", memberCardId);
jsonObject.put("xcxSaleState", xcxSaleState);
jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId());
jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
}
/**
* 售卖记录全局搜索:根据会员名称/手机号搜索,获取会员名下购卡相关记录
*
......@@ -548,6 +564,23 @@ public class CardTools extends XMBaseTest {
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
}
//查看卡的编辑记录
public JSONObject findHistoryDetailById(String id,DataUserInfo...userInfos){
dataApi.setApiModule(ApiModule.Polar_Card)
.setApiName("API_findHistoryDetailById")
.setTerminal(Terminal.B);
super.beforeDataRequest(userInfos);
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());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response = dataApi.getBodyInJSON();
return response;
}
}
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