Commit 533b73d8 by yangjian

乐动活动报名C端相关Case

parent e354eb4c
......@@ -6,6 +6,7 @@ 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 org.springframework.stereotype.Component;
import java.util.ArrayList;
......@@ -124,6 +125,8 @@ public class EventRegistrationTools extends BaseTestImpl {
List<String> hostGraphIds = new ArrayList<>();//固定活动主图
hostGraphIds.add("1896827628887764994");
String activityDesc ="{\"items\":[{\"type\":\"TEXT\",\"aspect\":\"\",\"content\":\"自动化\"}]}";
JSONObject jsonObject = new JSONObject();
jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId());
......@@ -137,14 +140,14 @@ public class EventRegistrationTools extends BaseTestImpl {
jsonObject.put("applyMemberStates", applyMemberStates);//可参与会员类型,所有会员类型
jsonObject.put("skuItems", skuItems);//报名项目
jsonObject.put("hostGraphIds", hostGraphIds);//活动主图
//jsonObject.put("activityDesc",activityDesc );//活动描述
jsonObject.put("activityDesc",activityDesc );//活动描述
jsonObject.put("userInfoCollect", true);//用户信息收集 true、false
//jsonObject.put("delSkuItemIds", delSkuItemIds);
jsonObject.put("addressInfo", jsonObject2);
jsonObject.put("userInfoConfig", userInfoConfig);
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs);
JSONObject response = dataApi.getBodyInJSON();
return response;
}
......@@ -169,7 +172,7 @@ public class EventRegistrationTools extends BaseTestImpl {
jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs);
JSONObject response = dataApi.getBodyInJSON();
return response;
}
......@@ -205,7 +208,7 @@ public class EventRegistrationTools extends BaseTestImpl {
* @author: yangjian
* @param activityId 活动id
**/
public JSONObject pagePurchaseRecord(String activityId, DataUserInfo... dataUserInfos) {
public JSONObject BpagePurchaseRecord(String activityId, DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Polar_Registration)
.setApiName("API_pagePurchaseRecord")
......@@ -308,11 +311,13 @@ public class EventRegistrationTools extends BaseTestImpl {
jsonObject2.put("provinceCode",330000);
jsonObject2.put("cityCode", 330100);
jsonObject2.put("areaCode", 330106);
jsonObject2.put("fullAddress", "江省杭州市西湖区同人广场A座");
jsonObject2.put("fullAddress", "江省杭州市西湖区同人广场A座");
List<String> hostGraphIds = new ArrayList<>();//固定活动主图
hostGraphIds.add("1896738511109779458");
String activityDesc ="{\"items\":[{\"type\":\"TEXT\",\"aspect\":\"\",\"content\":\"自动化\"}]}";
JSONObject jsonObject = new JSONObject();
jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId());
......@@ -326,7 +331,7 @@ public class EventRegistrationTools extends BaseTestImpl {
jsonObject.put("applyMemberStates", applyMemberStates);//可参与会员类型,所有会员类型
jsonObject.put("skuItems", skuItems);//报名项目
jsonObject.put("hostGraphIds", hostGraphIds);//活动主图
//jsonObject.put("activityDesc",activityDesc );//活动描述
jsonObject.put("activityDesc",activityDesc );//活动描述
jsonObject.put("userInfoCollect", true);//用户信息收集 true、false
//jsonObject.put("delSkuItemIds", delSkuItemIds);
jsonObject.put("addressInfo", jsonObject2);
......@@ -364,6 +369,264 @@ public class EventRegistrationTools extends BaseTestImpl {
return response;
}
/**
* @param
* @description:报名名单-用户信息
* @author: yangjian
* @param recordId 活动票
**/
public JSONObject sellableActivity_getRecordUserInfo(String recordId, DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Polar_Registration)
.setApiName("API_sellableActivity_getRecordUserInfo")
.setTerminal(Terminal.B);
super.beforeDataRequest(dataUserInfos);
JSONObject jsonObject = new JSONObject();
jsonObject.put("recordId", recordId);
jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId());
jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response = dataApi.getBodyInJSON();
return response;
}
/**
* @param
* @description:取消活动报名
* @author: yangjian
* @param voucherId
**/
public JSONObject cancelPurchaseRecord(String voucherId, DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Polar_Registration)
.setApiName("API_cancelPurchaseRecord")
.setTerminal(Terminal.B);
super.beforeDataRequest(dataUserInfos);
JSONObject jsonObject = new JSONObject();
jsonObject.put("voucherId", voucherId);
jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId());
jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response = dataApi.getBodyInJSON();
return response;
}
/**
* @param
* @description:报名详情
* @author: yangjian
* @param recordId
**/
public JSONObject BgetPurchaseRecordDetail(String recordId, DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Polar_Registration)
.setApiName("API_getPurchaseRecordDetail")
.setTerminal(Terminal.B);
super.beforeDataRequest(dataUserInfos);
JSONObject jsonObject = new JSONObject();
jsonObject.put("recordId", recordId);
jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId());
jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response = dataApi.getBodyInJSON();
return response;
}
/**
* @param
* @description:小程序查看活动报名列表
* @author: yangjian
**/
public JSONObject sellableActivity_getStudioActivityPage( String state, DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Lunar_Registration)
.setApiName("API_sellableActivity_getStudioActivityPage")
.setTerminal(Terminal.minApp);
super.beforeDataRequest(dataUserInfos);
JSONObject jsonObject = new JSONObject();
jsonObject.put("current", 0);
jsonObject.put("size", 10);
jsonObject.put("state", state);
jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response = dataApi.getBodyInJSON();
return response;
}
/**
* @param
* @description:小程序查看活动详情
* @author: yangjian
* @param activityId 活动id
**/
public JSONObject MinsellableActivity_getStudioActivityById( String activityId,DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Lunar_Registration)
.setApiName("API_sellableActivity_getStudioActivityById")
.setTerminal(Terminal.minApp);
super.beforeDataRequest(dataUserInfos);
JSONObject jsonObject = new JSONObject();
jsonObject.put("activityId", activityId);
jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response = dataApi.getBodyInJSON();
return response;
}
/**
* @param
* @description:小程序活动报名-确认报名
* @author: yangjian
* @param activityId 活动id
* @param activitySkuId 报名项目id
* @param memberId 会员id
**/
public JSONObject sellableActivity_checkMemberPurchaseActivity( String activityId,String activitySkuId,String memberId,DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Lunar_Registration)
.setApiName("API_sellableActivity_checkMemberPurchaseActivity")
.setTerminal(Terminal.minApp);
super.beforeDataRequest(dataUserInfos);
JSONObject jsonObject = new JSONObject();
jsonObject.put("activityId", activityId);
jsonObject.put("activitySkuId", activitySkuId);//报名项目id
jsonObject.put("memberId", memberId);//报名会员id
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response = dataApi.getBodyInJSON();
return response;
}
/**
* @param
* @description:小程序活动报名-购买项目
* @author: yangjian
* @param activityId 活动id
* @param activitySkuId 报名项目id
* @param memberId 会员id
**/
public JSONObject purchaseSellableActivity( String activityId,String activitySkuId,String memberId,DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Lunar_Registration)
.setApiName("API_purchaseSellableActivity")
.setTerminal(Terminal.minApp);
super.beforeDataRequest(dataUserInfos);
List<String> values1 = new ArrayList<>();
values1.add("自动化用户名称");
List<String> values2 = new ArrayList<>();
values2.add("10000000000");
JSONObject jsonObject1 = new JSONObject();//姓名收集
jsonObject1.put("configName", "姓名");
jsonObject1.put("configType","TEXT");
jsonObject1.put("required", true);
jsonObject1.put("values", values1);
JSONObject jsonObject2 = new JSONObject();//手机号收集
jsonObject2.put("configName", "手机号");
jsonObject2.put("configType","TEXT");
jsonObject2.put("required", true);
jsonObject2.put("values", values2);
List<JSONObject> collectUserInfoList = new ArrayList<>();//用户信息收集
collectUserInfoList.add(jsonObject2);
collectUserInfoList.add(jsonObject1);
JSONObject jsonObject = new JSONObject();
jsonObject.put("activityId", activityId);
jsonObject.put("activitySkuId", activitySkuId);//报名项目id
jsonObject.put("memberId", memberId);//报名会员id
jsonObject.put("studioId",dataApi.getLoginInfo().getStudioId());
jsonObject.put("objectId", RandomStringUtil.randomString(16));
jsonObject.put("activityType", "SELLABLE_ACTIVITY");
jsonObject.put("purchaseQuantity", 1);
jsonObject.put("receivableAmount", 0);
jsonObject.put("collectUserInfoList", collectUserInfoList);
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response = dataApi.getBodyInJSON();
return response;
}
/**
* @param
* @description:小程序-我的活动票列表
* @author: yangjian
* @param showStatus 活动票状态
* @param memberId 会员id
**/
public JSONObject pagePurchaseRecord( String showStatus,String memberId,DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Lunar_Registration)
.setApiName("API_pagePurchaseRecord")
.setTerminal(Terminal.minApp);
super.beforeDataRequest(dataUserInfos);
JSONObject jsonObject = new JSONObject();
jsonObject.put("current", 0);
jsonObject.put("size", 20);
jsonObject.put("showStatus", showStatus);//活动票状态:WAITING待参与 ENDED已结束 CANCELED已取消
jsonObject.put("memberId", memberId);
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response = dataApi.getBodyInJSON();
return response;
}
/**
* @param
* @description:小程序-小程序-查看活动票详情
* @author: yangjian
* @param recordId 活动票id
**/
public JSONObject getPurchaseRecordDetail( String recordId,DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Lunar_Registration)
.setApiName("API_getPurchaseRecordDetail")
.setTerminal(Terminal.minApp);
super.beforeDataRequest(dataUserInfos);
JSONObject jsonObject = new JSONObject();
jsonObject.put("recordId", recordId);
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response = dataApi.getBodyInJSON();
return response;
}
......
package com.xiaomai.cases.polar.eventRegistration;
import com.xiaomai.cases.lunar.user.UserTools;
import com.xiaomai.client.DataUserInfo;
import com.xiaomai.enums.ApiModule;
import com.xiaomai.enums.LoginAccount;
import com.xiaomai.enums.Terminal;
import com.xiaomai.utils.RandomStringUtil;
import com.xiaomai.utils.TimeUtils;
import com.xiaomai.utils.XMBaseTest;
import com.xiaomai.utils.XMJSONPath;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import javax.annotation.Resource;
public class TestGetPurchaseRecordDetail extends XMBaseTest {
@BeforeMethod
public void beforeTest(){
xmAppApi.setApiModule(ApiModule.Lunar_Registration)
.setApiName("API_getPurchaseRecordDetail")
.setLoginUser(LoginAccount.GYM_MINIAPPC)
.setTerminal(Terminal.minApp);
dal.setCase_owner("yangjian")
.setCase_name(Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);
super.beforeTest();
}
DataUserInfo info = new DataUserInfo();
@Resource(name = "userTools")
UserTools userTools;
@Resource(name = "EventRegistrationTools")
EventRegistrationTools EventRegistrationTools;
@Test(description = "小程序-查看活动票详情")
public void testgetPurchaseRecordDetail() {
String memberId = userTools.getMemberInfo().getString("memberId");
info.setTerminal(Terminal.B);
info.setLoginUser(LoginAccount.GYM_PROD);//切换B端
String activityName = "小程序参与" + RandomStringUtil.randomString(5);
EventRegistrationTools.create(activityName,true, TimeUtils.getTodayTime(),TimeUtils.getTodayEndTime(),TimeUtils.getTodayTime(),TimeUtils.getToDayTime(23,00),info);//创建并发布活动
String activityId= XMJSONPath.readPath(dataApi.getApi_response(),"$.result");
int before1 = Integer.parseInt(XMJSONPath.readPath(EventRegistrationTools.pagePurchaseRecord("WAITING",memberId), "$.result.total"));//未购买时,有几张待参与的活动票
int before2 = Integer.parseInt(XMJSONPath.readPath(EventRegistrationTools.pagePurchaseRecord("CANCELED",memberId), "$.result.total"));//未购买时,有几张已取消的活动票
EventRegistrationTools.sellableActivity_getStudioActivityPage("PROCESSING");//进行中的活动报名
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(), "$.result.records[0].activityId"), activityId, "目标活动未展示正确");
EventRegistrationTools.MinsellableActivity_getStudioActivityById(activityId);//查看活动详情
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(), "$.result.state"), "PROCESSING", "目标活动状态不正确");//目标活动为进行中的活动
String activitySkuId= XMJSONPath.readPath(dataApi.getApi_response(),"$.result.skuItems[0].id");//获取活动购买项目id
EventRegistrationTools.sellableActivity_checkMemberPurchaseActivity(activityId,activitySkuId,memberId);//活动报名页
EventRegistrationTools.purchaseSellableActivity(activityId,activitySkuId,memberId);//报名
int after1 = Integer.parseInt(XMJSONPath.readPath(EventRegistrationTools.pagePurchaseRecord("WAITING",memberId), "$.result.total"));//购买后,有几张待参与的活动票
Assert.assertEquals(after1,before1+1);
String recordId= XMJSONPath.readPath(dataApi.getApi_response(),"$.result.records[0].id");//获取第一张活动票的id
EventRegistrationTools.getPurchaseRecordDetail(recordId);//查看活动票详情
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(), "$.result.activityInfo.state"), "PROCESSING", "活动票状态非待参与");//断言活动票详情为待参与
EventRegistrationTools.BpagePurchaseRecord(activityId,info);//B端查看报名名单
String voucherId =XMJSONPath.readPath(dataApi.getApi_response(),"$.result.records[0].voucherId");
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(), "$.result.records[0].memberInfo.id"), memberId, "报名活动人和C端memberid不一致");//断言参与报名的人的member正确
EventRegistrationTools.sellableActivity_getRecordUserInfo(recordId,info);
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(), "$.result[0].values[0]"), "10000000000", "报名填写的手机号和用户信息不一致");//断言用户信息是否正确
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(), "$.result[1].values[0]"), "自动化用户名称", "报名填写的姓名和用户信息不一致");//断言用户信息是否正确
EventRegistrationTools.cancelPurchaseRecord(voucherId,info);//活动报名-取消报名
EventRegistrationTools.BgetPurchaseRecordDetail(recordId,info);//B端查看报名详情
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(), "$.result.state"), "INVALID", "取消报名未成功");//核对B端报名状态
EventRegistrationTools.getPurchaseRecordDetail(recordId);//小程序查看活动票详情
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(), "$.result.state"), "INVALID", "取消报名未成功");//核对C端报名状态
int after2 = Integer.parseInt(XMJSONPath.readPath(EventRegistrationTools.pagePurchaseRecord("CANCELED",memberId), "$.result.total"));//取消报名后,几张已取消的活动票
Assert.assertEquals(after2,before2+1);
EventRegistrationTools.deleteById(activityId,info);//删除活动报名
//Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(), "$.result.state"), "INVALID", "取消报名未成功");
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(),"$.message"),"已有用户参与此活动,不支持删除");
EventRegistrationTools.sellableActivityInvalid(activityId,info);//失效活动
EventRegistrationTools.sellableActivity_getStudioActivityById(activityId,info);//查看失效活动
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(), "$.result.state"), "ABNORMAL", "未失效活动成功");//断言活动详情返回状态为已失效
}
}
......@@ -52,6 +52,7 @@ public class ApiModule {
public static String Lunar_Share="lunar_share";//分享
public static String Lunar_VenueArea="lunar_venueArea";//场地
public static String Lunar_Goods="lunar_goods";//物品
public static String Lunar_Registration = "lunar_registration";//活动报名
public static String Lunar_Invitation = "lunar_invitation";
......
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