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
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
781 additions
and
0 deletions
+781
-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
+481
-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 {
}
/**
* @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 @
f43df321
package
com
.
xiaomai
.
cases
.
polar
.
schedule
.
camp
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.basetest.BaseTestImpl
;
import
com.xiaomai.cases.polar.memberCard.CardTools
;
import
com.xiaomai.cases.polar.reserve.ReserveTools
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
com.xiaomai.utils.TimeUtils
;
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.polar.training
* @Author: xuyamei
* @CreateTime: 2024-07-31 10:39
* @Description: 训练营签到、请假、补签到、无需补课、请假已补
* @Version: 1.0
*/
public
class
TestTrainingSign
extends
BaseTestImpl
{
@Resource
(
name
=
"campScheduleTools"
)
CampScheduleTools
campScheduleTools
;
@Resource
(
name
=
"reserveTools"
)
ReserveTools
reserveTools
;
CardTools
cardTools
=
new
CardTools
();
private
String
scheduleId
;
@BeforeMethod
@Override
public
void
beforeTest
()
{
setTestInfo
(
ApiModule
.
Polar_Reserve
,
"API_remedial"
,
LoginAccount
.
GYM_PROD
,
Terminal
.
B
,
"xuyamei"
);
super
.
beforeTest
();
}
@Test
(
description
=
"训练营签到"
)
public
void
testTrainingSign
()
{
// 训练营课表查询存量的训练营课次
JSONArray
getCampScheduleTable
=
campScheduleTools
.
getCampScheduleTable
(
TimeUtils
.
getTodayTime
(),
TimeUtils
.
getTodayEndTime
(),
"1818220193259798530"
);
scheduleId
=
getCampScheduleTable
.
getJSONObject
(
0
).
getString
(
"scheduleId"
);
// 训练营课次详情
campScheduleTools
.
getCampScheduleItemDetail
(
scheduleId
);
JSONArray
memberRserveList
=
dataApi
.
getBodyInJSON
().
getJSONObject
(
"result"
).
getJSONArray
(
"memberReserveList"
);
String
reserveId
=
""
;
// 约课id
String
memberId
=
""
;
String
benefitId
=
""
;
// 权益id
String
memberCardId
=
""
;
// 卡id
// 查到需要操作签到的学员id
boolean
hasData
=
false
;
// 是否找到需要操作的学员
for
(
int
i
=
0
;
i
<
memberRserveList
.
size
();
i
++)
{
System
.
out
.
println
(
"-------------i"
+
i
);
System
.
out
.
println
(
"-------------i"
+
i
);
if
(
memberRserveList
.
getJSONObject
(
i
).
getJSONObject
(
"member"
).
getString
(
"name"
).
contains
(
"微信用户"
)
&&
memberRserveList
.
getJSONObject
(
i
).
getString
(
"signInState"
).
equals
(
"UN_SIGNED"
))
{
reserveId
=
memberRserveList
.
getJSONObject
(
i
).
getString
(
"id"
);
memberId
=
memberRserveList
.
getJSONObject
(
i
).
getString
(
"memberId"
);
benefitId
=
memberRserveList
.
getJSONObject
(
i
).
getString
(
"benefitId"
);
memberCardId
=
memberRserveList
.
getJSONObject
(
i
).
getString
(
"memberCardId"
);
hasData
=
true
;
break
;
}
}
Assert
.
assertTrue
(
hasData
,
"没有找到需要操作的学员,课次今日可能没有可操作的学员,请手动在页面回归签到"
);
// 操作签到
reserveTools
.
signIn
(
true
,
reserveId
,
false
);
try
{
Thread
.
sleep
(
2500
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
// check 1: 课次详情到课状态为签到
campScheduleTools
.
getCampScheduleItemDetail
(
scheduleId
);
memberRserveList
=
dataApi
.
getBodyInJSON
().
getJSONObject
(
"result"
).
getJSONArray
(
"memberReserveList"
);
for
(
int
i
=
0
;
i
<
memberRserveList
.
size
();
i
++)
{
if
(
memberRserveList
.
getJSONObject
(
i
).
getString
(
"id"
).
equals
(
reserveId
))
{
Assert
.
assertEquals
(
memberRserveList
.
getJSONObject
(
i
).
getString
(
"signInState"
),
"SIGNED"
);
}
}
// check 2: 预约记录是否包含该预约
String
[]
result
=
new
String
[]{
"id"
,
"benefitId"
,
"reserveMemberNum"
,
"courseType"
,
"reserveState"
,
"scheduleId"
,
"signInState"
};
String
[]
resultData
=
new
String
[]{
reserveId
,
benefitId
,
"1"
,
"TRAINING_CAMP"
,
"SUCCESS"
,
scheduleId
,
"SIGNED"
};
// check 2.1 预约记录列表
JSONArray
getPageByStudio
=
reserveTools
.
getPageByStudio
(
""
,
"SUCCESS"
,
"SIGNED"
,
""
,
TimeUtils
.
getTodayTime
(),
TimeUtils
.
getTodayEndTime
(),
memberId
,
"TRAINING_CAMP"
,
"1818220193259798530"
);
boolean
success
=
false
;
for
(
int
i
=
0
;
i
<
getPageByStudio
.
size
();
i
++)
{
if
(
getPageByStudio
.
getJSONObject
(
i
).
getString
(
"id"
).
equals
(
reserveId
))
{
success
=
true
;
for
(
int
j
=
0
;
j
<
result
.
length
;
j
++)
{
Assert
.
assertEquals
(
getPageByStudio
.
getJSONObject
(
i
).
getString
(
result
[
j
]),
resultData
[
j
],
"训练营签到产生的数据与实际数据不符合"
+
result
[
j
]
+
":"
+
resultData
[
j
]);
}
Assert
.
assertEquals
(
getPageByStudio
.
getJSONObject
(
i
).
getString
(
"memberId"
),
memberId
,
"查询的训练营签到产生数据不是同一个会员"
);
}
}
Assert
.
assertTrue
(
success
,
"训练营签到产生约课记录没有查询到相关信息"
);
// check 2.3 预约记录详情
JSONObject
getDetailById
=
reserveTools
.
getDetailById
(
reserveId
);
for
(
int
j
=
0
;
j
<
result
.
length
;
j
++)
{
Assert
.
assertEquals
(
getDetailById
.
getString
(
result
[
j
]),
resultData
[
j
],
"训练营签到产生的数据与实际数据不符合"
+
result
[
j
]
+
":"
+
resultData
[
j
]);
}
Assert
.
assertEquals
(
getDetailById
.
getString
(
"memberId"
),
memberId
,
"查询的约课数据不是同一个会员"
);
// check 3: 会员卡消耗记录中包含该记录签到消耗
JSONArray
consumeRecord
=
cardTools
.
fetchPageOfConsumeRecord
(
benefitId
,
memberCardId
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
);
String
[]
result2
=
new
String
[]{
"resourceId"
,
"consumeType"
,
"changeOfPurchaseBalance"
};
String
[]
respect
=
new
String
[]{
reserveId
,
"SIGN_IN"
,
"-1.00"
};
String
[]
message
=
new
String
[]{
"训练营消耗记录中记录的资源id与实际约课记录id不符合"
,
"训练营消耗记录中记录的资源id与实际约课记录类型不符合"
,
"训练营消耗记录中记录的资源id与实际约课记录余额不符合"
};
for
(
int
i
=
0
;
i
<
result2
.
length
;
i
++)
{
Assert
.
assertEquals
(
consumeRecord
.
getJSONObject
(
0
).
getString
(
result2
[
i
]),
respect
[
i
],
message
[
i
]);
}
}
@Test
(
description
=
"训练营请假"
,
priority
=
1
)
public
void
testTrainingSign_Leave
()
{
// 训练营课表查询存量的训练营课次
JSONArray
getCampScheduleTable
=
campScheduleTools
.
getCampScheduleTable
(
TimeUtils
.
getTodayTime
(),
TimeUtils
.
getTodayEndTime
(),
"1818220193259798530"
);
scheduleId
=
getCampScheduleTable
.
getJSONObject
(
0
).
getString
(
"scheduleId"
);
// 训练营课次详情
campScheduleTools
.
getCampScheduleItemDetail
(
scheduleId
);
JSONArray
memberRserveList
=
dataApi
.
getBodyInJSON
().
getJSONObject
(
"result"
).
getJSONArray
(
"memberReserveList"
);
String
reserveId
=
""
;
// 约课id
String
memberId
=
""
;
String
benefitId
=
""
;
// 权益id
String
memberCardId
=
""
;
// 卡id
// 查到需要操作签到的学员id
boolean
hasData
=
false
;
// 是否找到需要操作的学员
for
(
int
i
=
0
;
i
<
memberRserveList
.
size
();
i
++){
if
(
memberRserveList
.
getJSONObject
(
i
).
getJSONObject
(
"member"
).
getString
(
"name"
).
contains
(
"训练营请假学员"
)
&&
memberRserveList
.
getJSONObject
(
i
).
getString
(
"signInState"
).
equals
(
"UN_SIGNED"
)){
reserveId
=
memberRserveList
.
getJSONObject
(
i
).
getString
(
"id"
);
memberId
=
memberRserveList
.
getJSONObject
(
i
).
getString
(
"memberId"
);
benefitId
=
memberRserveList
.
getJSONObject
(
i
).
getString
(
"benefitId"
);
memberCardId
=
memberRserveList
.
getJSONObject
(
i
).
getString
(
"memberCardId"
);
hasData
=
true
;
break
;
}
}
Assert
.
assertTrue
(
hasData
,
"没有找到需要操作的学员,课次今日可能没有可操作的学员,请手动在页面回归请假"
);
// 操作请假
reserveTools
.
signIn
(
true
,
reserveId
,
true
);
try
{
Thread
.
sleep
(
2500
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
// check 1: 课次详情到课状态为签到
campScheduleTools
.
getCampScheduleItemDetail
(
scheduleId
);
memberRserveList
=
dataApi
.
getBodyInJSON
().
getJSONObject
(
"result"
).
getJSONArray
(
"memberReserveList"
);
for
(
int
i
=
0
;
i
<
memberRserveList
.
size
();
i
++){
if
(
memberRserveList
.
getJSONObject
(
i
).
getString
(
"id"
).
equals
(
reserveId
)){
Assert
.
assertEquals
(
memberRserveList
.
getJSONObject
(
i
).
getString
(
"signInState"
),
"LEAVE"
);
}
}
// check 2: 预约记录是否包含该预约
String
[]
result
=
new
String
[]
{
"id"
,
"benefitId"
,
"reserveMemberNum"
,
"courseType"
,
"reserveState"
,
"scheduleId"
,
"signInState"
};
String
[]
resultData
=
new
String
[]
{
reserveId
,
benefitId
,
"1"
,
"TRAINING_CAMP"
,
"SUCCESS"
,
scheduleId
,
"LEAVE"
};
// check 2.1 预约记录列表
JSONArray
getPageByStudio
=
reserveTools
.
getPageByStudio
(
""
,
"SUCCESS"
,
"LEAVE"
,
""
,
TimeUtils
.
getTodayTime
(),
TimeUtils
.
getTodayEndTime
(),
memberId
,
"TRAINING_CAMP"
,
"1818220193259798530"
);
boolean
success
=
false
;
for
(
int
i
=
0
;
i
<
getPageByStudio
.
size
();
i
++){
if
(
getPageByStudio
.
getJSONObject
(
i
).
getString
(
"id"
).
equals
(
reserveId
)){
success
=
true
;
for
(
int
j
=
0
;
j
<
result
.
length
;
j
++){
Assert
.
assertEquals
(
getPageByStudio
.
getJSONObject
(
i
).
getString
(
result
[
j
]),
resultData
[
j
],
"训练营请假产生的数据与实际数据不符合"
+
result
[
j
]+
":"
+
resultData
[
j
]);
}
Assert
.
assertEquals
(
getPageByStudio
.
getJSONObject
(
i
).
getString
(
"memberId"
),
memberId
,
"查询的约课数据不是同一个会员"
);
}
}
Assert
.
assertTrue
(
success
,
"训练营请假产生约课记录没有查询到相关信息"
);
// check 2.3 预约记录详情
JSONObject
getDetailById
=
reserveTools
.
getDetailById
(
reserveId
);
for
(
int
j
=
0
;
j
<
result
.
length
;
j
++){
Assert
.
assertEquals
(
getDetailById
.
getString
(
result
[
j
]),
resultData
[
j
],
"训练营请假产生的数据与实际数据不符合"
+
result
[
j
]+
":"
+
resultData
[
j
]);
}
Assert
.
assertEquals
(
getDetailById
.
getString
(
"memberId"
),
memberId
,
"查询的约课数据不是同一个会员"
);
// check 3: 会员卡消耗记录中包含该记录签到消耗
JSONArray
consumeRecord
=
cardTools
.
fetchPageOfConsumeRecord
(
benefitId
,
memberCardId
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
);
String
[]
result2
=
new
String
[]
{
"resourceId"
,
"consumeType"
,
"changeOfPurchaseBalance"
};
String
[]
respect
=
new
String
[]
{
reserveId
,
"LEAVE"
,
"-1.00"
};
String
[]
message
=
new
String
[]
{
"训练营消耗记录中记录的资源id与实际约课记录id不符合"
,
"训练营消耗记录中记录的资源id与实际约课记录类型不符合"
,
"训练营消耗记录中记录的资源id与实际约课记录余额不符合"
};
for
(
int
i
=
0
;
i
<
result2
.
length
;
i
++){
Assert
.
assertEquals
(
consumeRecord
.
getJSONObject
(
0
).
getString
(
result2
[
i
]),
respect
[
i
],
message
[
i
]);
}
}
@Test
(
description
=
"训练营请假补签到"
,
priority
=
2
)
public
void
testTrainingSign_SIGNED
()
{
// 训练营课表查询存量的训练营课次
JSONArray
getCampScheduleTable
=
campScheduleTools
.
getCampScheduleTable
(
TimeUtils
.
getTodayTime
(),
TimeUtils
.
getTodayEndTime
(),
"1818220193259798530"
);
scheduleId
=
getCampScheduleTable
.
getJSONObject
(
0
).
getString
(
"scheduleId"
);
// 训练营课次详情
campScheduleTools
.
getCampScheduleItemDetail
(
scheduleId
);
JSONArray
memberRserveList
=
dataApi
.
getBodyInJSON
().
getJSONObject
(
"result"
).
getJSONArray
(
"memberReserveList"
);
String
reserveId
=
""
;
// 约课id
String
memberId
=
""
;
String
benefitId
=
""
;
// 权益id
String
memberCardId
=
""
;
// 卡id
// 查到需要操作签到的学员id
boolean
hasData
=
false
;
// 是否找到需要操作的学员
for
(
int
i
=
0
;
i
<
memberRserveList
.
size
();
i
++){
if
(
memberRserveList
.
getJSONObject
(
i
).
getJSONObject
(
"member"
).
getString
(
"name"
).
contains
(
"训练营请假补签到"
)
&&
memberRserveList
.
getJSONObject
(
i
).
getString
(
"signInState"
).
equals
(
"UN_SIGNED"
)){
reserveId
=
memberRserveList
.
getJSONObject
(
i
).
getString
(
"id"
);
memberId
=
memberRserveList
.
getJSONObject
(
i
).
getString
(
"memberId"
);
benefitId
=
memberRserveList
.
getJSONObject
(
i
).
getString
(
"benefitId"
);
memberCardId
=
memberRserveList
.
getJSONObject
(
i
).
getString
(
"memberCardId"
);
hasData
=
true
;
break
;
}
}
Assert
.
assertTrue
(
hasData
,
"没有找到需要操作的学员,课次今日可能没有可操作的学员,请手动在页面回归请假补签到"
);
// 操作请假
reserveTools
.
signIn
(
true
,
reserveId
,
true
);
try
{
Thread
.
sleep
(
2500
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
// 操作补签到
reserveTools
.
signIn
(
true
,
reserveId
,
false
);
try
{
Thread
.
sleep
(
2500
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
// check 1: 课次详情到课状态为签到
campScheduleTools
.
getCampScheduleItemDetail
(
scheduleId
);
memberRserveList
=
dataApi
.
getBodyInJSON
().
getJSONObject
(
"result"
).
getJSONArray
(
"memberReserveList"
);
for
(
int
i
=
0
;
i
<
memberRserveList
.
size
();
i
++){
if
(
memberRserveList
.
getJSONObject
(
i
).
getString
(
"id"
).
equals
(
reserveId
)){
Assert
.
assertEquals
(
memberRserveList
.
getJSONObject
(
i
).
getString
(
"signInState"
),
"SIGNED"
);
}
}
// check 2: 预约记录是否包含该预约
String
[]
result
=
new
String
[]
{
"id"
,
"benefitId"
,
"reserveMemberNum"
,
"courseType"
,
"reserveState"
,
"scheduleId"
,
"signInState"
};
String
[]
resultData
=
new
String
[]
{
reserveId
,
benefitId
,
"1"
,
"TRAINING_CAMP"
,
"SUCCESS"
,
scheduleId
,
"SIGNED"
};
// check 2.1 预约记录列表
JSONArray
getPageByStudio
=
reserveTools
.
getPageByStudio
(
""
,
"SUCCESS"
,
"SIGNED"
,
""
,
TimeUtils
.
getTodayTime
(),
TimeUtils
.
getTodayEndTime
(),
memberId
,
"TRAINING_CAMP"
,
"1818220193259798530"
);
boolean
success
=
false
;
for
(
int
i
=
0
;
i
<
getPageByStudio
.
size
();
i
++){
if
(
getPageByStudio
.
getJSONObject
(
i
).
getString
(
"id"
).
equals
(
reserveId
)){
success
=
true
;
for
(
int
j
=
0
;
j
<
result
.
length
;
j
++){
Assert
.
assertEquals
(
getPageByStudio
.
getJSONObject
(
i
).
getString
(
result
[
j
]),
resultData
[
j
],
"训练营补签到产生的数据与实际数据不符合"
+
result
[
j
]+
":"
+
resultData
[
j
]);
}
Assert
.
assertEquals
(
getPageByStudio
.
getJSONObject
(
i
).
getString
(
"memberId"
),
memberId
,
"查询的约课数据不是同一个会员"
);
}
}
Assert
.
assertTrue
(
success
,
"约课后在约课记录没有查询到相关信息"
);
// check 2.3 预约记录详情
JSONObject
getDetailById
=
reserveTools
.
getDetailById
(
reserveId
);
for
(
int
j
=
0
;
j
<
result
.
length
;
j
++){
Assert
.
assertEquals
(
getDetailById
.
getString
(
result
[
j
]),
resultData
[
j
],
"训练营补签到产生产生的数据与实际数据不符合"
+
result
[
j
]+
":"
+
resultData
[
j
]);
}
Assert
.
assertEquals
(
getDetailById
.
getString
(
"memberId"
),
memberId
,
"查询的约课数据不是同一个会员"
);
// check 3: 会员卡消耗记录中包含该记录签到消耗还是请假,请假已经扣除补签到不会再扣
JSONArray
consumeRecord
=
cardTools
.
fetchPageOfConsumeRecord
(
benefitId
,
memberCardId
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
);
String
[]
result2
=
new
String
[]
{
"resourceId"
,
"consumeType"
,
"changeOfPurchaseBalance"
};
String
[]
respect
=
new
String
[]
{
reserveId
,
"LEAVE"
,
"-1.00"
};
String
[]
message
=
new
String
[]
{
"训练营消耗记录中记录的资源id与实际约课记录id不符合"
,
"训练营消耗记录中记录的资源id与实际约课记录类型不符合"
,
"训练营消耗记录中记录的资源id与实际约课记录余额不符合"
};
for
(
int
i
=
0
;
i
<
result2
.
length
;
i
++){
Assert
.
assertEquals
(
consumeRecord
.
getJSONObject
(
0
).
getString
(
result2
[
i
]),
respect
[
i
],
message
[
i
]);
}
}
@Test
(
description
=
"训练营请假标记已补"
,
priority
=
3
)
public
void
testTrainingSign_MARK_REMEDIAL
()
{
// 训练营课表查询存量的训练营课次
JSONArray
getCampScheduleTable
=
campScheduleTools
.
getCampScheduleTable
(
TimeUtils
.
getTodayTime
(),
TimeUtils
.
getTodayEndTime
(),
"1818220193259798530"
);
scheduleId
=
getCampScheduleTable
.
getJSONObject
(
0
).
getString
(
"scheduleId"
);
// 训练营课次详情
campScheduleTools
.
getCampScheduleItemDetail
(
scheduleId
);
JSONArray
memberRserveList
=
dataApi
.
getBodyInJSON
().
getJSONObject
(
"result"
).
getJSONArray
(
"memberReserveList"
);
String
reserveId
=
""
;
// 约课id
String
memberId
=
""
;
String
benefitId
=
""
;
// 权益id
String
memberCardId
=
""
;
// 卡id
// 查到需要操作签到的学员id
boolean
hasData
=
false
;
// 是否找到需要操作的学员
for
(
int
i
=
0
;
i
<
memberRserveList
.
size
();
i
++){
if
(
memberRserveList
.
getJSONObject
(
i
).
getJSONObject
(
"member"
).
getString
(
"name"
).
contains
(
"训练营请假标记已补"
)
&&
memberRserveList
.
getJSONObject
(
i
).
getString
(
"signInState"
).
equals
(
"UN_SIGNED"
)){
reserveId
=
memberRserveList
.
getJSONObject
(
i
).
getString
(
"id"
);
memberId
=
memberRserveList
.
getJSONObject
(
i
).
getString
(
"memberId"
);
benefitId
=
memberRserveList
.
getJSONObject
(
i
).
getString
(
"benefitId"
);
memberCardId
=
memberRserveList
.
getJSONObject
(
i
).
getString
(
"memberCardId"
);
hasData
=
true
;
break
;
}
}
Assert
.
assertTrue
(
hasData
,
"没有找到需要操作的学员,课次今日可能没有可操作的学员,请手动在页面回归请假标记已补"
);
// 操作请假
reserveTools
.
signIn
(
true
,
reserveId
,
true
);
try
{
Thread
.
sleep
(
2500
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
// 操作标记已补
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"remedialSignState"
,
"MARK_REMEDIAL"
);
body
.
put
(
"reserveId"
,
reserveId
);
body
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
.
toString
(),
headers
).
assetsSuccess
(
true
);
try
{
Thread
.
sleep
(
2500
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
// check 1: 课次详情到课状态为请假 标记已补
campScheduleTools
.
getCampScheduleItemDetail
(
scheduleId
);
memberRserveList
=
dataApi
.
getBodyInJSON
().
getJSONObject
(
"result"
).
getJSONArray
(
"memberReserveList"
);
for
(
int
i
=
0
;
i
<
memberRserveList
.
size
();
i
++){
if
(
memberRserveList
.
getJSONObject
(
i
).
getString
(
"id"
).
equals
(
reserveId
)){
Assert
.
assertEquals
(
memberRserveList
.
getJSONObject
(
i
).
getString
(
"signInState"
),
"LEAVE"
);
Assert
.
assertEquals
(
memberRserveList
.
getJSONObject
(
i
).
getString
(
"remedialSignState"
),
"MARK_REMEDIAL"
);
}
}
// check 2: 预约记录是否包含该预约
String
[]
result
=
new
String
[]
{
"id"
,
"benefitId"
,
"reserveMemberNum"
,
"courseType"
,
"reserveState"
,
"scheduleId"
,
"signInState"
,
"remedialSignState"
};
String
[]
resultData
=
new
String
[]
{
reserveId
,
benefitId
,
"1"
,
"TRAINING_CAMP"
,
"SUCCESS"
,
scheduleId
,
"LEAVE"
,
"MARK_REMEDIAL"
};
// check 2.1 预约记录列表
JSONArray
getPageByStudio
=
reserveTools
.
getPageByStudio
(
""
,
"SUCCESS"
,
"LEAVE"
,
""
,
TimeUtils
.
getTodayTime
(),
TimeUtils
.
getTodayEndTime
(),
memberId
,
"TRAINING_CAMP"
,
"1818220193259798530"
);
boolean
success
=
false
;
for
(
int
i
=
0
;
i
<
getPageByStudio
.
size
();
i
++){
if
(
getPageByStudio
.
getJSONObject
(
i
).
getString
(
"id"
).
equals
(
reserveId
)){
success
=
true
;
for
(
int
j
=
0
;
j
<
result
.
length
;
j
++){
Assert
.
assertEquals
(
getPageByStudio
.
getJSONObject
(
i
).
getString
(
result
[
j
]),
resultData
[
j
],
"训练营请假标记已补产生的数据与实际数据不符合"
+
result
[
j
]+
":"
+
resultData
[
j
]);
}
Assert
.
assertEquals
(
getPageByStudio
.
getJSONObject
(
i
).
getString
(
"memberId"
),
memberId
,
"查询的约课数据不是同一个会员"
);
}
}
Assert
.
assertTrue
(
success
,
"约课后在约课记录没有查询到相关信息"
);
// check 2.3 预约记录详情
JSONObject
getDetailById
=
reserveTools
.
getDetailById
(
reserveId
);
for
(
int
j
=
0
;
j
<
result
.
length
;
j
++){
Assert
.
assertEquals
(
getDetailById
.
getString
(
result
[
j
]),
resultData
[
j
],
"训练营请假标记已补产生的数据与实际数据不符合"
+
result
[
j
]+
":"
+
resultData
[
j
]);
}
Assert
.
assertEquals
(
getDetailById
.
getString
(
"memberId"
),
memberId
,
"查询的约课数据不是同一个会员"
);
// check 3: 会员卡消耗记录中包含该记录签到消耗还是请假,请假已经扣除不会再扣
JSONArray
consumeRecord
=
cardTools
.
fetchPageOfConsumeRecord
(
benefitId
,
memberCardId
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
);
String
[]
result2
=
new
String
[]
{
"resourceId"
,
"consumeType"
,
"changeOfPurchaseBalance"
};
String
[]
respect
=
new
String
[]
{
reserveId
,
"LEAVE"
,
"-1.00"
};
String
[]
message
=
new
String
[]
{
"训练营消耗记录中记录的资源id与实际约课记录id不符合"
,
"训练营消耗记录中记录的资源id与实际约课记录类型不符合"
,
"训练营消耗记录中记录的资源id与实际约课记录余额不符合"
};
for
(
int
i
=
0
;
i
<
result2
.
length
;
i
++){
Assert
.
assertEquals
(
consumeRecord
.
getJSONObject
(
0
).
getString
(
result2
[
i
]),
respect
[
i
],
message
[
i
]);
}
}
@Test
(
description
=
"训练营请假无需补课"
,
priority
=
3
)
public
void
testTrainingSign_NEED_NOT_REMEDIAL
()
{
// 训练营课表查询存量的训练营课次
JSONArray
getCampScheduleTable
=
campScheduleTools
.
getCampScheduleTable
(
TimeUtils
.
getTodayTime
(),
TimeUtils
.
getTodayEndTime
(),
"1818220193259798530"
);
scheduleId
=
getCampScheduleTable
.
getJSONObject
(
0
).
getString
(
"scheduleId"
);
// 训练营课次详情
campScheduleTools
.
getCampScheduleItemDetail
(
scheduleId
);
JSONArray
memberRserveList
=
dataApi
.
getBodyInJSON
().
getJSONObject
(
"result"
).
getJSONArray
(
"memberReserveList"
);
String
reserveId
=
""
;
// 约课id
String
memberId
=
""
;
String
benefitId
=
""
;
// 权益id
String
memberCardId
=
""
;
// 卡id
// 查到需要操作签到的学员id
boolean
hasData
=
false
;
// 是否找到需要操作的学员
for
(
int
i
=
0
;
i
<
memberRserveList
.
size
();
i
++){
if
(
memberRserveList
.
getJSONObject
(
i
).
getJSONObject
(
"member"
).
getString
(
"name"
).
contains
(
"训练营请假无需"
)
&&
memberRserveList
.
getJSONObject
(
i
).
getString
(
"signInState"
).
equals
(
"UN_SIGNED"
)){
reserveId
=
memberRserveList
.
getJSONObject
(
i
).
getString
(
"id"
);
memberId
=
memberRserveList
.
getJSONObject
(
i
).
getString
(
"memberId"
);
benefitId
=
memberRserveList
.
getJSONObject
(
i
).
getString
(
"benefitId"
);
memberCardId
=
memberRserveList
.
getJSONObject
(
i
).
getString
(
"memberCardId"
);
hasData
=
true
;
break
;
}
}
Assert
.
assertTrue
(
hasData
,
"没有找到需要操作的学员,课次今日可能没有可操作的学员,请手动在页面回归请假无需补课"
);
// 操作请假
reserveTools
.
signIn
(
true
,
reserveId
,
true
);
try
{
Thread
.
sleep
(
2500
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
// 操作标记已补
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"remedialSignState"
,
"NEED_NOT_REMEDIAL"
);
body
.
put
(
"reserveId"
,
reserveId
);
body
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
.
toString
(),
headers
).
assetsSuccess
(
true
);
try
{
Thread
.
sleep
(
2500
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
// check 1: 课次详情到课状态为请假-无需补课
campScheduleTools
.
getCampScheduleItemDetail
(
scheduleId
);
memberRserveList
=
dataApi
.
getBodyInJSON
().
getJSONObject
(
"result"
).
getJSONArray
(
"memberReserveList"
);
for
(
int
i
=
0
;
i
<
memberRserveList
.
size
();
i
++){
if
(
memberRserveList
.
getJSONObject
(
i
).
getString
(
"id"
).
equals
(
reserveId
)){
Assert
.
assertEquals
(
memberRserveList
.
getJSONObject
(
i
).
getString
(
"signInState"
),
"LEAVE"
);
Assert
.
assertEquals
(
memberRserveList
.
getJSONObject
(
i
).
getString
(
"remedialSignState"
),
"NEED_NOT_REMEDIAL"
);
}
}
// check 2: 预约记录是否包含该预约
String
[]
result
=
new
String
[]
{
"id"
,
"benefitId"
,
"reserveMemberNum"
,
"courseType"
,
"reserveState"
,
"scheduleId"
,
"signInState"
,
"remedialSignState"
};
String
[]
resultData
=
new
String
[]
{
reserveId
,
benefitId
,
"1"
,
"TRAINING_CAMP"
,
"SUCCESS"
,
scheduleId
,
"LEAVE"
,
"NEED_NOT_REMEDIAL"
};
// check 2.1 预约记录列表
JSONArray
getPageByStudio
=
reserveTools
.
getPageByStudio
(
""
,
"SUCCESS"
,
"LEAVE"
,
""
,
TimeUtils
.
getTodayTime
(),
TimeUtils
.
getTodayEndTime
(),
memberId
,
"TRAINING_CAMP"
,
"1818220193259798530"
);
boolean
success
=
false
;
for
(
int
i
=
0
;
i
<
getPageByStudio
.
size
();
i
++){
if
(
getPageByStudio
.
getJSONObject
(
i
).
getString
(
"id"
).
equals
(
reserveId
)){
success
=
true
;
for
(
int
j
=
0
;
j
<
result
.
length
;
j
++){
Assert
.
assertEquals
(
getPageByStudio
.
getJSONObject
(
i
).
getString
(
result
[
j
]),
resultData
[
j
],
"训练营请假无需补课产生的数据与实际数据不符合"
+
result
[
j
]+
":"
+
resultData
[
j
]);
}
Assert
.
assertEquals
(
getPageByStudio
.
getJSONObject
(
i
).
getString
(
"memberId"
),
memberId
,
"查询的约课数据不是同一个会员"
);
}
}
Assert
.
assertTrue
(
success
,
"约课后在约课记录没有查询到相关信息"
);
// check 2.3 预约记录详情
JSONObject
getDetailById
=
reserveTools
.
getDetailById
(
reserveId
);
for
(
int
j
=
0
;
j
<
result
.
length
;
j
++){
Assert
.
assertEquals
(
getDetailById
.
getString
(
result
[
j
]),
resultData
[
j
],
"训练营请假无需补课产生的数据与实际数据不符合"
+
result
[
j
]+
":"
+
resultData
[
j
]);
}
Assert
.
assertEquals
(
getDetailById
.
getString
(
"memberId"
),
memberId
,
"查询的约课数据不是同一个会员"
);
// check 3: 会员卡消耗记录中包含该记录签到消耗还是请假,请假已经扣除不会再扣
JSONArray
consumeRecord
=
cardTools
.
fetchPageOfConsumeRecord
(
benefitId
,
memberCardId
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
);
String
[]
result2
=
new
String
[]
{
"resourceId"
,
"consumeType"
,
"changeOfPurchaseBalance"
};
String
[]
respect
=
new
String
[]
{
reserveId
,
"LEAVE"
,
"-1.00"
};
String
[]
message
=
new
String
[]
{
"训练营消耗记录中记录的资源id与实际约课记录id不符合"
,
"训练营消耗记录中记录的资源id与实际约课记录类型不符合"
,
"训练营消耗记录中记录的资源id与实际约课记录余额不符合"
};
for
(
int
i
=
0
;
i
<
result2
.
length
;
i
++){
Assert
.
assertEquals
(
consumeRecord
.
getJSONObject
(
0
).
getString
(
result2
[
i
]),
respect
[
i
],
message
[
i
]);
}
}
}
src/main/java/com/xiaomai/enums/ApiModule.java
View file @
f43df321
...
...
@@ -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