Commit bb3bb9c4 by DuJunLi
parents 2adcaa5b 0676c928
...@@ -203,7 +203,7 @@ public class CouponTools extends BaseTestImpl { ...@@ -203,7 +203,7 @@ public class CouponTools extends BaseTestImpl {
* 查看优惠券详情 * 查看优惠券详情
* @param couponId * @param couponId
*/ */
public void getCouponDetail(String couponId){ public void getCouponDetail(String couponId, DataUserInfo... dataUserInfos){
setUP("API_getCouponDetail"); setUP("API_getCouponDetail");
JSONObject body = new JSONObject(); JSONObject body = new JSONObject();
body.put("operatorId", dataApi.getLoginInfo().getAdminId()); body.put("operatorId", dataApi.getLoginInfo().getAdminId());
......
package com.xiaomai.cases.polar.invitationGifts;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.basetest.BaseTestImpl;
import com.xiaomai.client.DataUserInfo;
import com.xiaomai.enums.ApiModule;
import com.xiaomai.enums.RequestType;
import com.xiaomai.enums.Terminal;
import org.springframework.stereotype.Component;
@Component("InvitationGiftsMinTools")
public class InvitationGiftsMinTools extends BaseTestImpl {
/**
* @param
* @description:小程序获取邀请有礼详情-邀请人页面
* @author: yangjian
* @param memberId 会员ID
**/
public JSONObject invitationActivityGetStudioActivityDetail(String memberId, DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Lunar_Invitation)
.setApiName("API_invitationActivityGetStudioActivityDetail")
.setTerminal(Terminal.minApp);
super.beforeDataRequest(dataUserInfos);
JSONObject jsonObject = new JSONObject();
jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
jsonObject.put("promoterId", memberId);//String memberId = userTools.getMemberInfo().getString("memberId");
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response = dataApi.getBodyInJSON();
return response;
}
/**
* @param
* @description:被邀请人页面
* @author: yangjian
* @param memberId 会员ID
* @param activityId 邀请有礼活动ID
**/
public JSONObject invitationActivityGetStudioActivityDetail1(String memberId,String activityId, DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Lunar_Invitation)
.setApiName("API_invitationActivityGetStudioActivityDetail")
.setTerminal(Terminal.minApp);
super.beforeDataRequest(dataUserInfos);
JSONObject jsonObject = new JSONObject();
jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
jsonObject.put("activityId", activityId);
jsonObject.put("promoterId", memberId);//String memberId = userTools.getMemberInfo().getString("memberId");
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response = dataApi.getBodyInJSON();
return response;
}
/**
* @param
* @description:参与邀请有礼活动
* @author: yangjian
* @param memberId 会员ID
* @param promoteRecordId //被邀请人页面memberPromoteRecord-id
**/
public JSONObject joinActivity(String memberId,String promoteRecordId, DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Lunar_Invitation)
.setApiName("API_joinActivity")
.setTerminal(Terminal.minApp);
super.beforeDataRequest(dataUserInfos);
JSONObject jsonObject = new JSONObject();
jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
jsonObject.put("inviteeId", memberId);
jsonObject.put("newRegisterMember", true);
jsonObject.put("noConsumeMember", true);
jsonObject.put("promoteRecordId", promoteRecordId);//String memberId = userTools.getMemberInfo().getString("memberId");
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response = dataApi.getBodyInJSON();
return response;
}
/**
* @param
* @description:生成推广记录
* @author: yangjian
* @param memberId 会员ID
* @param activityId 活动ID
**/
public JSONObject promoteActivity(String memberId,String activityId, DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Lunar_Invitation)
.setApiName("API_promoteActivity")
.setTerminal(Terminal.minApp);
super.beforeDataRequest(dataUserInfos);
JSONObject jsonObject = new JSONObject();
jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
jsonObject.put("promoterId", memberId);
jsonObject.put("activityId", activityId);
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response = dataApi.getBodyInJSON();
return response;
}
}
package com.xiaomai.cases.polar.invitationGifts;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.cases.polar.coupon.CouponTools;
import com.xiaomai.cases.polar.luckyDraw.LuckyDrawTools;
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 TestInvitationActivityDelete extends XMBaseTest {
@Resource(name = "InvitationGiftsTools")
InvitationGiftsTools InvitationGiftsTools;
@Resource(name = "couponTools")
CouponTools couponTools;
@BeforeMethod
public void beforeTest(){
xmAppApi.setApiModule(ApiModule.Polar_Invitation)
.setApiName("API_invitationActivityDelete")
.setLoginUser(LoginAccount.GYM_PROD)
.setTerminal(Terminal.B);
dal.setCase_owner("yangjian")
.setCase_name(Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);
super.beforeTest();
}
@Test(description = "删除分享有礼活动")
public void testInvitationActivityDelete(){
JSONObject result1 =InvitationGiftsTools.invitationActivity_getStudioPage();//获取邀请有礼列表
int before=Integer.parseInt(result1.getJSONObject("result").getString("total"));//列表当前有的邀请有礼数量
String couponName = "邀请优惠券" + RandomStringUtil.randomString(5);//优惠券名称
String activityName = "邀请有礼活动" + RandomStringUtil.randomString(5);//活动名称
String couponId = couponTools.createStudioCoupon("WITHOUT",couponName,true);//创建优惠券,拿优惠券ID
String activeId =InvitationGiftsTools.createInvitationActivity(activityName,"UNREGISTERED", TimeUtils.getTodayEndTime(),TimeUtils.getTodayTime(),false,couponId,couponId,couponId,couponId,"COUPON","COUPON","COUPON","COUPON").getString("result");//创建一个未发布的邀请有礼活动;
InvitationGiftsTools.invitationActivity_getStudioPage1(activityName);
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(), "$.result.total"), "1", "未搜索到目标邀请有礼活动");
InvitationGiftsTools.getInvitationActivityDetail(activeId);//查看活动详情
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(), "$.result.state"), "UNPUBLISHED", "活动非未发布状态");//断言列表第一条为未发布的活动
InvitationGiftsTools.invitationActivityPublish(activeId);//发布邀请有礼活动
InvitationGiftsTools.getInvitationActivityDetail(activeId);//查看活动详情
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(), "$.result.state"), "PROCESSING", "活动发布失败");//断言列表第一条为进行中的活动
InvitationGiftsTools.invitationActivity_getStudioPage();//获取邀请有礼列表
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(), "$.result.records[0].activityName"), activityName, "邀请有礼活动第一条非新建");//断言列表第一条为新建的活动的名字
JSONObject result2 =InvitationGiftsTools.invitationActivity_getStudioPage();//获取邀请有礼列表
int after=Integer.parseInt(result2.getJSONObject("result").getString("total"));//新建后列表中邀请有礼活动数量
Assert.assertEquals(after,before+1);//新建邀请有礼后,列表活动数+1
InvitationGiftsTools.invitationActivityEdit("UNREGISTERED",activeId, TimeUtils.getTodayEndTime(),TimeUtils.getTodayTime(),true,couponId,couponId,couponId,couponId,"COUPON","COUPON","COUPON","COUPON").getString("result");//编辑邀请有礼活动
InvitationGiftsTools.invitationActivity_getStudioPage();
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(), "$.result.records[0].activityName"), "自动化-编辑邀请有礼", "邀请有礼活动第一条非新建");//断言列表第一条为编辑的活动的名字
InvitationGiftsTools.invitationActivityInvalid(activeId);//失效邀请有礼活动
InvitationGiftsTools.getInvitationActivityDetail(activeId);//查看是失效的邀请有礼活动
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(), "$.result.state"), "ABNORMAL", "活动失效失败");//断言列表第一条为失效的活动
InvitationGiftsTools.invitationActivityDelete(activeId);//删除活动
JSONObject result3 =InvitationGiftsTools.invitationActivity_getStudioPage();
int after2=Integer.parseInt(result3.getJSONObject("result").getString("total"));//列表当前有的邀请有礼数量
Assert.assertEquals(after2,before);//删除后回到最初条数
}
}
package com.xiaomai.cases.polar.invitationGifts;
import com.xiaomai.cases.lunar.user.UserTools;
import com.xiaomai.cases.polar.clue.MemberTools;
import com.xiaomai.cases.polar.coupon.CouponTools;
import com.xiaomai.cases.polar.memberCard.CardTools;
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 TestJoinActivity extends XMBaseTest {
@BeforeMethod
public void beforeTest(){
xmAppApi.setApiModule(ApiModule.Lunar_Invitation)
.setApiName("API_joinActivity")
.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 = "InvitationGiftsTools")
InvitationGiftsTools InvitationGiftsTools;
@Resource(name = "couponTools")
CouponTools couponTools;
@Resource(name = "InvitationGiftsMinTools")
InvitationGiftsMinTools invitationGiftsMinTools;
@Resource(name = "userTools")
UserTools userTools;
@Resource(name = "memberTools")
MemberTools memberTools;
@Test(description = "参与邀请有礼活动")
public void testJoinActivity() throws InterruptedException {
String memberId = userTools.getMemberInfo().getString("memberId");//邀请人
info.setTerminal(Terminal.B);
info.setLoginUser(LoginAccount.GYM_PROD);
String name = "自动化被邀请人"+ RandomStringUtil.randomString(3);
String phone = RandomStringUtil.randomMobile("111");
String memberId1 = memberTools.create(name,phone,info).getString("result");//被邀请人创建
String couponName = "邀请优惠券" + RandomStringUtil.randomString(5);//优惠券名称
String activityName = "邀请有礼活动" + RandomStringUtil.randomString(5);//活动名称
String couponId = couponTools.createStudioCoupon("WITHOUT",couponName,true,info);//创建优惠券,拿优惠券ID
String activeId =InvitationGiftsTools.createInvitationActivity(activityName,"NO_CONSUME", TimeUtils.getTodayEndTime(),TimeUtils.getTodayTime(),true,couponId,couponId,couponId,couponId,"COUPON","COUPON","COUPON","COUPON",info).getString("result");//创建发布的邀请有礼活动;
int before = Integer.parseInt(XMJSONPath.readPath(InvitationGiftsTools.getInvitationActivityDetail(activeId,info), "$.result.promotedNum"));//B端初始推广人数
int before1 = Integer.parseInt(XMJSONPath.readPath(InvitationGiftsTools.getInvitationActivityDetail(activeId,info), "$.result.invitedNum"));//B端初始受邀人数
invitationGiftsMinTools.promoteActivity(memberId,activeId);//生成推广记录
String promoteRecordId=XMJSONPath.readPath(dataApi.getApi_response(),"$.result");//获取推广ID
int after = Integer.parseInt(XMJSONPath.readPath(InvitationGiftsTools.getInvitationActivityDetail(activeId,info), "$.result.promotedNum"));//B端推广后的人数
Assert.assertEquals(after,before+1);//生成推广记录后,推广人数+1
invitationGiftsMinTools.joinActivity(memberId1,promoteRecordId);//潜在会员参与活动
int after1 = Integer.parseInt(XMJSONPath.readPath(InvitationGiftsTools.getInvitationActivityDetail(activeId,info), "$.result.invitedNum"));//B端参与活动后的受邀人数
Assert.assertEquals(after1,before1+1);//生成推广记录后,推广人数+1
Thread.sleep(2000);
InvitationGiftsTools.InvitationGetStudioStatisticsData(activeId,null,null,info);//查看活动数据概括、
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(), "$.result.promotedNum"), "1", "邀请有礼推广失败");//断言目标活动推广人数为1
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(), "$.result.invitedNum"), "1", "邀请有礼受邀失败");//断言目标活动受邀请人数为1
InvitationGiftsTools.getPromoteRecordPage(activeId,null,null,null,info);//查看活动推广名单
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(), "$.result.records[0].promoterInfo.id"), memberId, "目标推广人不正确");//断言推广人为目标人员
InvitationGiftsTools.getJoinedRecordPage(activeId,info);//查看活动受邀名单
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(), "$.result.records[0].inviteeInfo.id"), memberId1, "目标受邀请人不正确");//断言受邀人为目标人员
InvitationGiftsTools.getRewardSendRecordPage(activeId,info);//查看活动发放奖品
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(), "$.result.records[0].receivedMemberInfo.id"), memberId1, "C立即领取的奖励不是给受邀人员");//断言受邀人获取奖励
couponTools.getCouponDetail(couponId,info);
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(), "$.result.received"), "1", "优惠券没有发放成功");//优惠券给受邀人发放
InvitationGiftsTools.invitationActivityInvalid(activeId,info);
}
}
...@@ -31,6 +31,7 @@ public class ApiModule { ...@@ -31,6 +31,7 @@ public class ApiModule {
public static String Polar_LuckyDraw ="polar_luckyDraw";//幸运抽奖 public static String Polar_LuckyDraw ="polar_luckyDraw";//幸运抽奖
public static String Polar_Membercluster = "polar_membercluster"; public static String Polar_Membercluster = "polar_membercluster";
public static String Polar_Salary = "polar_salary"; public static String Polar_Salary = "polar_salary";
public static String Polar_Invitation = "polar_invitation";
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";//导出
...@@ -47,5 +48,6 @@ public class ApiModule { ...@@ -47,5 +48,6 @@ 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_Invitation = "lunar_invitation";
} }
\ No newline at end of file
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