Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
X
xm-sportstest
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
xiamai-test
xm-sportstest
Commits
0676c928
Commit
0676c928
authored
Dec 27, 2024
by
yangjian
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
邀请有礼
parent
3c96d118
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
303 additions
and
1 deletions
+303
-1
src/main/java/com/xiaomai/cases/polar/coupon/CouponTools.java
+1
-1
src/main/java/com/xiaomai/cases/polar/invitationGifts/InvitationGiftsMinTools.java
+110
-0
src/main/java/com/xiaomai/cases/polar/invitationGifts/InvitationGiftsTools.java
+0
-0
src/main/java/com/xiaomai/cases/polar/invitationGifts/TestInvitationActivityDelete.java
+82
-0
src/main/java/com/xiaomai/cases/polar/invitationGifts/TestJoinActivity.java
+107
-0
src/main/java/com/xiaomai/enums/ApiModule.java
+3
-0
No files found.
src/main/java/com/xiaomai/cases/polar/coupon/CouponTools.java
View file @
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
());
...
...
src/main/java/com/xiaomai/cases/polar/invitationGifts/InvitationGiftsMinTools.java
0 → 100644
View file @
0676c928
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
;
}
}
src/main/java/com/xiaomai/cases/polar/invitationGifts/InvitationGiftsTools.java
0 → 100644
View file @
0676c928
This diff is collapsed.
Click to expand it.
src/main/java/com/xiaomai/cases/polar/invitationGifts/TestInvitationActivityDelete.java
0 → 100644
View file @
0676c928
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
);
//删除后回到最初条数
}
}
src/main/java/com/xiaomai/cases/polar/invitationGifts/TestJoinActivity.java
0 → 100644
View file @
0676c928
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
);
}
}
src/main/java/com/xiaomai/enums/ApiModule.java
View file @
0676c928
...
@@ -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
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment