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
f43df321
Commit
f43df321
authored
Jul 31, 2024
by
xuyamei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增训练营活动case
parent
23a17183
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
300 additions
and
0 deletions
+300
-0
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/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/training/TestPurchaseCamp.java
0 → 100644
View file @
f43df321
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 @
f43df321
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 @
f43df321
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/schedule/camp/CampScheduleTools.java
View file @
f43df321
...
@@ -201,6 +201,33 @@ public class CampScheduleTools extends XMBaseTest {
...
@@ -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 startDate
* @param endDate
* @param endDate
...
...
src/main/java/com/xiaomai/cases/polar/schedule/camp/TestTrainingSign.java
0 → 100644
View file @
f43df321
This diff is collapsed.
Click to expand it.
src/main/java/com/xiaomai/enums/ApiModule.java
View file @
f43df321
...
@@ -33,6 +33,7 @@ public class ApiModule {
...
@@ -33,6 +33,7 @@ public class ApiModule {
public
static
String
Polar_Data
=
"polar_data"
;
//数据中心
public
static
String
Polar_Data
=
"polar_data"
;
//数据中心
public
static
String
Lunar_Order
=
"lunar_order"
;
//C端订单
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