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
f13ff19e
Commit
f13ff19e
authored
Aug 01, 2024
by
DuJunLi
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
ssh://xmgit.ixm5.cn:10022/xiamai-test/xm-sportstest
parents
b13a21d3
e6159c06
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
306 additions
and
1 deletions
+306
-1
src/main/java/com/xiaomai/cases/lunar/reserve/TestSingleReserveSignIn.java
+1
-1
src/main/java/com/xiaomai/cases/lunar/training/TestPurchaseCamp.java
+110
-0
src/main/java/com/xiaomai/cases/lunar/training/TestTrainingFindDetailById.java
+55
-0
src/main/java/com/xiaomai/cases/lunar/training/TrainingCTools.java
+107
-0
src/main/java/com/xiaomai/cases/polar/reserve/group/TestAddMemberReserve.java
+5
-0
src/main/java/com/xiaomai/cases/polar/schedule/camp/CampScheduleTools.java
+27
-0
src/main/java/com/xiaomai/cases/polar/schedule/camp/TestTrainingSign.java
+0
-0
src/main/java/com/xiaomai/enums/ApiModule.java
+1
-0
No files found.
src/main/java/com/xiaomai/cases/lunar/reserve/TestSingleReserveSignIn.java
View file @
f13ff19e
...
...
@@ -80,7 +80,7 @@ public class TestSingleReserveSignIn extends BaseTestImpl {
}
@Test
(
description
=
"小程序单次团课预约"
)
public
void
test
CreateSingleReserve
()
{
public
void
test
SingleReserveSignIn
()
{
DataUserInfo
dataUserInfo
=
new
DataUserInfo
();
dataUserInfo
.
setTerminal
(
Terminal
.
B
);
dataUserInfo
.
setLoginUser
(
LoginAccount
.
GYM_PROD
);
...
...
src/main/java/com/xiaomai/cases/lunar/training/TestPurchaseCamp.java
0 → 100644
View file @
f13ff19e
package
com
.
xiaomai
.
cases
.
lunar
.
training
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.basetest.BaseTestImpl
;
import
com.xiaomai.cases.lunar.order.OrderCTools
;
import
com.xiaomai.cases.lunar.user.UserTools
;
import
com.xiaomai.cases.polar.finance.order.OrderTools
;
import
com.xiaomai.client.DataUserInfo
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
com.xiaomai.utils.RandomStringUtil
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
import
javax.annotation.Resource
;
/**
* @BelongsProject: xm-sportstest
* @BelongsPackage: com.xiaomai.cases.lunar.training
* @Author: xuyamei
* @CreateTime: 2024-07-31 14:55
* @Description: 购买存量的训练营
* @Version: 1.0
*/
public
class
TestPurchaseCamp
extends
BaseTestImpl
{
@Resource
(
name
=
"trainingCTools"
)
TrainingCTools
trainTools
;
@Resource
(
name
=
"userTools"
)
UserTools
userTools
;
OrderCTools
orderCTools
=
new
OrderCTools
();
@Resource
(
name
=
"orderTools"
)
OrderTools
orderTools
;
private
String
orderId
=
""
;
@BeforeMethod
@Override
public
void
beforeTest
(){
setTestInfo
(
ApiModule
.
Lunar_Training
,
"API_purchaseCamp"
,
LoginAccount
.
GYM_MINIAPPC
,
Terminal
.
minApp
,
"xym"
);
super
.
beforeTest
();
}
@Test
public
void
testPurchaseCamp
(){
// 获取存量训练营活动
String
id
=
trainTools
.
getAppliableCampList
(
"存量训练营C端报名活动"
).
getJSONObject
(
0
).
getString
(
"id"
);
// 获取的微信用户
String
memberId
=
userTools
.
getMemberInfo
().
getString
(
"memberId"
);
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"campId"
,
id
);
body
.
put
(
"memberId"
,
memberId
);
body
.
put
(
"memo"
,
""
);
body
.
put
(
"receivableAmount"
,
"0.00"
);
body
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"objectId"
,
RandomStringUtil
.
randomString
(
16
));
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
.
toString
(),
headers
).
assetsSuccess
(
true
);
orderId
=
xmAppApi
.
getBodyInJSON
().
getString
(
"result"
);
// check 1:订单详情
JSONArray
voucherItems
=
orderCTools
.
getDetail
(
orderId
).
getJSONObject
(
"result"
).
getJSONArray
(
"voucherItems"
);
String
[]
keys
=
new
String
[]{
"skuId"
,
"skuType"
};
String
[]
expect
=
new
String
[]{
id
,
"TRAINING_CAMP"
};
for
(
int
i
=
0
;
i
<
keys
.
length
;
i
++)
{
Assert
.
assertTrue
(
voucherItems
.
getJSONObject
(
0
).
getString
(
keys
[
i
]).
equals
(
expect
[
i
])
);
}
// check 2:查询我的训练营列表
JSONArray
listMyTrainingCamp
=
trainTools
.
listMyTrainingCamp
(
memberId
);
keys
=
new
String
[]{
"tradeOrderId"
,
"accountType"
};
expect
=
new
String
[]{
orderId
,
"TRAINING"
};
// 生成训练营账户的id
String
accountId
=
""
;
for
(
int
i
=
0
;
i
<
listMyTrainingCamp
.
size
();
i
++){
if
(
listMyTrainingCamp
.
getJSONObject
(
i
).
getString
(
"tenantMemberCardId"
).
equals
(
id
)){
for
(
int
j
=
0
;
j
<
keys
.
length
;
j
++){
Assert
.
assertTrue
(
listMyTrainingCamp
.
getJSONObject
(
i
).
getString
(
keys
[
j
]).
equals
(
expect
[
j
]));
accountId
=
listMyTrainingCamp
.
getJSONObject
(
i
).
getString
(
"id"
);
}
}
}
// check 3:获取我的训练营详情 以及和购买的训练营内容是否一致
JSONObject
findMyTrainingCampDetailById
=
trainTools
.
findMyTrainingCampDetailById
(
accountId
);
JSONObject
findDetailById
=
trainTools
.
findDetailById
(
id
,
memberId
);
keys
=
new
String
[]{
"id"
,
"studioId"
,
"title"
,
"courseId"
,
"openStartDate"
,
"openEndDate"
,
"totalClassHour"
,
"price"
,
"trainerIds"
};
for
(
int
i
=
0
;
i
<
keys
.
length
;
i
++){
Assert
.
assertTrue
(
findMyTrainingCampDetailById
.
getJSONObject
(
"trainingCampInfo"
).
getString
(
keys
[
i
]).
equals
(
findDetailById
.
getString
(
keys
[
i
])));
}
// check 3.2 验证我的训练营订单id
Assert
.
assertTrue
(
findMyTrainingCampDetailById
.
getString
(
"tradeOrderId"
).
equals
(
orderId
));
}
@Test
(
description
=
"作废订单数据,为了下次再购买"
,
priority
=
2
)
public
void
delOrderData
(){
DataUserInfo
dataUserInfo
=
new
DataUserInfo
();
dataUserInfo
.
setTerminal
(
Terminal
.
B
);
dataUserInfo
.
setLoginUser
(
LoginAccount
.
GYM_PROD
);
orderTools
.
discard
(
orderId
,
"重复录入"
,
"作废训练营订单"
,
dataUserInfo
);
}
}
src/main/java/com/xiaomai/cases/lunar/training/TestTrainingFindDetailById.java
0 → 100644
View file @
f13ff19e
package
com
.
xiaomai
.
cases
.
lunar
.
training
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.basetest.BaseTestImpl
;
import
com.xiaomai.cases.lunar.user.UserTools
;
import
com.xiaomai.cases.polar.training.TrainingTools
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.Terminal
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
import
javax.annotation.Resource
;
/**
* @BelongsProject: xm-sportstest
* @BelongsPackage: com.xiaomai.cases.lunar.training
* @Author: xuyamei
* @CreateTime: 2024-07-31 15:03
* @Description: 小程序训练营详情
* @Version: 1.0
*/
public
class
TestTrainingFindDetailById
extends
BaseTestImpl
{
@Resource
(
name
=
"trainingCTools"
)
TrainingCTools
trainingCTools
;
@Resource
(
name
=
"userTools"
)
UserTools
userTools
;
@Resource
(
name
=
"trainingTools"
)
TrainingTools
trainingTools
;
@BeforeMethod
@Override
public
void
beforeTest
(){
setTestInfo
(
ApiModule
.
Lunar_Training
,
"API_findDetailById"
,
LoginAccount
.
GYM_MINIAPPC
,
Terminal
.
minApp
,
"xym"
);
super
.
beforeTest
();
}
@Test
public
void
testTrainingFindDetailById
(){
// 获取微信学员
String
memberId
=
userTools
.
getMemberInfo
().
getString
(
"memberId"
);
// 获取训练营活动
String
id
=
trainingCTools
.
getAppliableCampList
(
"量训练营C端报名活动"
).
getJSONObject
(
0
).
getString
(
"id"
);
JSONObject
findDetailById
=
trainingCTools
.
findDetailById
(
id
,
memberId
);
String
[]
keys
=
{
"id"
,
"studioId"
,
"state"
,
"title"
,
"courseId"
,
"openStartDate"
,
"openEndDate"
,
"totalClassHour"
,
"price"
,
"trainerIds"
};
trainingTools
.
findTrainingDetailById
(
id
);
JSONObject
findTrainingDetailById
=
dataApi
.
getBodyInJSON
().
getJSONObject
(
"result"
);
for
(
int
i
=
0
;
i
<
keys
.
length
;
i
++){
Assert
.
assertEquals
(
findDetailById
.
getString
(
keys
[
i
]),
findTrainingDetailById
.
getString
(
keys
[
i
]),
"训练营详情返回值与B端对比内容不一致"
);
}
}
}
src/main/java/com/xiaomai/cases/lunar/training/TrainingCTools.java
0 → 100644
View file @
f13ff19e
package
com
.
xiaomai
.
cases
.
lunar
.
training
;
import
com.alibaba.fastjson.JSONArray
;
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
;
/**
* @BelongsProject: xm-sportstest
* @BelongsPackage: com.xiaomai.cases.lunar.training
* @Author: xuyamei
* @CreateTime: 2024-07-31 14:48
* @Description: 训练营相关接口
* @Version: 1.0
*/
@Component
(
"trainingCTools"
)
public
class
TrainingCTools
extends
BaseTestImpl
{
public
void
setUP
(
String
apiName
,
DataUserInfo
...
userInfo
)
{
dataApi
.
setApiModule
(
ApiModule
.
Lunar_Training
)
.
setApiName
(
apiName
)
.
setTerminal
(
Terminal
.
minApp
);
super
.
beforeDataRequest
(
userInfo
);
}
/**
* @description: 查询在售训练营
* @author: xuyamei
* @date: 2024/7/31 16:55
* @param title:训练营名称
* @return: com.alibaba.fastjson.JSONArray
**/
public
JSONArray
getAppliableCampList
(
String
title
)
{
setUP
(
"API_fetchAppliableCampList"
);
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"current"
,
0
);
body
.
put
(
"size"
,
10
);
body
.
put
(
"title"
,
title
);
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
().
getJSONObject
(
"result"
).
getJSONArray
(
"records"
);
}
/**
* @description:查询训练营详情
* @author: xuyamei
* @date: 2024/7/31 16:55
* @param trainingCampId 训练营活动id
* @param memberId 会员id
* @return: com.alibaba.fastjson.JSONObject
**/
public
JSONObject
findDetailById
(
String
trainingCampId
,
String
memberId
)
{
setUP
(
"API_findDetailById"
);
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"trainingCampId"
,
trainingCampId
);
body
.
put
(
"memberId"
,
memberId
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
().
getJSONObject
(
"result"
);
}
/**
* @description:我的训练营列表
* @author: xuyamei
* @date: 2024/7/31 16:56
* @param memberId 会员id
* @return: com.alibaba.fastjson.JSONArray
**/
public
JSONArray
listMyTrainingCamp
(
String
memberId
)
{
setUP
(
"API_listMyTrainingCamp"
);
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"memberId"
,
memberId
);
body
.
put
(
"usable"
,
true
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
().
getJSONArray
(
"result"
);
}
/**
* @description:获取我的训练营详情
* @author: xuyamei
* @date: 2024/7/31 17:06
* @param id
* @return: com.alibaba.fastjson.JSONArray
**/
public
JSONObject
findMyTrainingCampDetailById
(
String
id
)
{
setUP
(
"API_findMyTrainingCampDetailById"
);
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"id"
,
id
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
().
getJSONObject
(
"result"
);
}
}
src/main/java/com/xiaomai/cases/polar/reserve/group/TestAddMemberReserve.java
View file @
f13ff19e
...
...
@@ -233,6 +233,11 @@ public class TestAddMemberReserve extends BaseTestImpl {
public
void
testAddMemberReserve3
(){
// 修改课次人数上限为1
groupScheduleTools
.
editGroupSchedule
(
scheduleId
,
startTime
,
xmAppApi
.
getLoginInfo
().
getAdminId
(),
1
,
1
);
try
{
Thread
.
sleep
(
2000
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
// 修改预约规则不允许排队
JSONObject
getRules
=
ruleTools
.
getGroupBookingRules
();
// 获取场馆团课预约规则
String
id
=
getRules
.
getString
(
"id"
);
// 获取规则id
...
...
src/main/java/com/xiaomai/cases/polar/schedule/camp/CampScheduleTools.java
View file @
f13ff19e
...
...
@@ -201,6 +201,33 @@ public class CampScheduleTools extends XMBaseTest {
}
/**
* @description: 查询训练营排课课表
* @author: xuyamei
* @date: 2024/7/31 10:48
* @param startDate 开始日期
* @param endDate 结束日期
* @param campId :训练营活动id
* @return: com.alibaba.fastjson.JSONArray
**/
public
JSONArray
getCampScheduleTable
(
Long
startDate
,
Long
endDate
,
String
campId
)
{
setUP
(
"API_getCampScheduleTable"
);
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"startDate"
,
startDate
);
body
.
put
(
"endDate"
,
endDate
);
body
.
put
(
"campId"
,
campId
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
if
(
Integer
.
valueOf
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.totalCount"
))
>
0
)
{
return
dataApi
.
getBodyInJSON
().
getJSONObject
(
"result"
).
getJSONArray
(
"timetableGroups"
).
getJSONObject
(
0
).
getJSONArray
(
"timetableList"
);
}
else
{
return
null
;
}
}
/**
* 根据时间和星期查询有效循环次数
* @param startDate
* @param endDate
...
...
src/main/java/com/xiaomai/cases/polar/schedule/camp/TestTrainingSign.java
0 → 100644
View file @
f13ff19e
This diff is collapsed.
Click to expand it.
src/main/java/com/xiaomai/enums/ApiModule.java
View file @
f13ff19e
...
...
@@ -33,6 +33,7 @@ public class ApiModule {
public
static
String
Polar_Data
=
"polar_data"
;
//数据中心
public
static
String
Lunar_Order
=
"lunar_order"
;
//C端订单
public
static
String
Lunar_Training
=
"lunar_training"
;
//C端订单
...
...
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