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
f0594f5d
Commit
f0594f5d
authored
Nov 05, 2024
by
DuJunLi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优化代码,新增批量代预约私教课业务相关case
parent
8b5028a4
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
118 additions
and
21 deletions
+118
-21
src/main/java/com/xiaomai/cases/polar/course/CourseTools.java
+11
-4
src/main/java/com/xiaomai/cases/polar/memberCard/CardTools.java
+1
-1
src/main/java/com/xiaomai/cases/polar/reserve/ReserveTools.java
+96
-7
src/main/java/com/xiaomai/cases/polar/reserve/personal/TestBatchReserve1v1Personal.java
+0
-0
src/main/java/com/xiaomai/cases/polar/reserve/personal/TestBatchReserve1vnPersonal.java
+0
-0
src/main/java/com/xiaomai/cases/polar/reserve/personal/TestReservePerson.java
+8
-8
src/main/java/com/xiaomai/cases/polar/schedule/camp/TestEditCurrentAndSubsequentCampSchedule.java
+2
-1
No files found.
src/main/java/com/xiaomai/cases/polar/course/CourseTools.java
View file @
f0594f5d
...
...
@@ -35,7 +35,7 @@ public class CourseTools extends XMBaseTest {
* @param minCapacity:开课人数
* @return: 课程id
**/
public
String
createPersonalCourse
(
String
courseName
,
String
categoryId
,
String
sourceType
,
String
sizeType
,
int
capacity
,
int
minCapacity
,
DataUserInfo
...
dataUserInfo
){
public
String
createPersonalCourse
(
String
courseName
,
String
categoryId
,
String
sourceType
,
String
sizeType
,
int
capacity
,
int
minCapacity
,
JSONArray
coachIds
,
JSONArray
areaIds
,
DataUserInfo
...
dataUserInfo
){
dataApi
.
setApiModule
(
ApiModule
.
Polar_Course
)
.
setApiName
(
"API_personalCreate"
)
.
setTerminal
(
Terminal
.
B
);
...
...
@@ -58,9 +58,16 @@ public class CourseTools extends XMBaseTest {
body
.
put
(
"allArea"
,
false
);
// 场地
body
.
put
(
"singleReserve"
,
true
);
body
.
put
(
"reservePrice"
,
0
);
JSONArray
coachIds
=
new
JSONArray
();
// 教练
coachIds
.
add
(
dataApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"coachIds"
,
coachIds
);
if
(
coachIds
.
size
()==
0
){
JSONArray
coachIdList
=
new
JSONArray
();
// 教练
coachIdList
.
add
(
dataApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"coachIds"
,
coachIdList
);
}
if
(
areaIds
.
size
()!=
0
){
body
.
put
(
"areaIds"
,
areaIds
);
}
if
(
sizeType
.
equals
(
"ONE_TO_MANY"
)){
// 一对多需要传课次容量及开课人数
body
.
put
(
"capacity"
,
capacity
);
// 课容量
body
.
put
(
"minCapacity"
,
minCapacity
);
// 开课人数
...
...
@@ -146,7 +153,7 @@ public class CourseTools extends XMBaseTest {
getNameAndId
.
add
(
courseId
);
getNameAndId
.
add
(
result
.
getString
(
"courseName"
));
}
else
{
getNameAndId
.
add
(
createPersonalCourse
(
courseName
,
categoryId
,
sourceType
,
sizeType
,
capacity
,
minCapacity
,
dataUserInfo
));
getNameAndId
.
add
(
createPersonalCourse
(
courseName
,
categoryId
,
sourceType
,
sizeType
,
capacity
,
minCapacity
,
new
JSONArray
(),
new
JSONArray
(),
dataUserInfo
));
getNameAndId
.
add
(
courseName
);
}
}
...
...
src/main/java/com/xiaomai/cases/polar/memberCard/CardTools.java
View file @
f0594f5d
...
...
@@ -57,7 +57,7 @@ public class CardTools extends XMBaseTest {
jsonObject
.
put
(
"surfaceUrl"
,
"https://image.xiaomaiketang.com/xm/internal/HpRiJpFnTC.png"
);
//会员卡封面图片
jsonObject
.
put
(
"surfaceCornerMark"
,
"自动化标签"
);
jsonObject
.
put
(
"title"
,
title
);
//会员卡名称 不能重复要加东西 "次卡-自动化会员卡"+RandomStringUtil.randomString(3)
jsonObject
.
put
(
"validPeriod"
,
"
10
"
);
//有效期-10天
jsonObject
.
put
(
"validPeriod"
,
"
888
"
);
//有效期-10天
jsonObject
.
put
(
"activatePatternList"
,
activatePatternList
);
//三种生效方式
jsonObject
.
put
(
"sharePeopleLimit"
,
"2"
);
//共享人数
jsonObject
.
put
(
"benefitList"
,
benefitList
);
//使用权益
...
...
src/main/java/com/xiaomai/cases/polar/reserve/ReserveTools.java
View file @
f0594f5d
...
...
@@ -9,9 +9,11 @@ import com.xiaomai.enums.Terminal;
import
com.xiaomai.utils.TimeUtils
;
import
com.xiaomai.utils.XMBaseTest
;
import
com.xiaomai.utils.XMJSONPath
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Component
;
import
java.util.Date
;
import
java.util.List
;
/**
* @BelongsProject: xm-sportstest
...
...
@@ -173,7 +175,7 @@ public class ReserveTools extends XMBaseTest {
body
.
put
(
"coachId"
,
coachId
);
}
if
(
scheduleStartTime
!=
null
){
body
.
put
(
"scheduleStart
Tim
e"
,
scheduleStartTime
);
body
.
put
(
"scheduleStart
Dat
e"
,
scheduleStartTime
);
body
.
put
(
"scheduleEndDate"
,
scheduleEndDate
);
}
if
(!
memberId
.
equals
(
""
)){
...
...
@@ -283,7 +285,7 @@ public class ReserveTools extends XMBaseTest {
body
.
put
(
"coachId"
,
coachId
);
}
if
(
scheduleStartTime
!=
null
){
body
.
put
(
"scheduleStart
Tim
e"
,
scheduleStartTime
);
body
.
put
(
"scheduleStart
Dat
e"
,
scheduleStartTime
);
body
.
put
(
"scheduleEndDate"
,
scheduleEndDate
);
}
if
(!
memberId
.
equals
(
""
)){
...
...
@@ -806,11 +808,14 @@ public class ReserveTools extends XMBaseTest {
jsonObject1
.
put
(
"benefitId"
,
benefitId1
);
memberInfoList
.
add
(
jsonObject1
);
JSONObject
jsonObject2
=
new
JSONObject
();
jsonObject2
.
put
(
"planCheckTotalBalance"
,
planCheckTotalBalance2
);
jsonObject2
.
put
(
"memberId"
,
memberId2
);
jsonObject2
.
put
(
"benefitId"
,
benefitId2
);
memberInfoList
.
add
(
jsonObject2
);
if
(!
StringUtils
.
isEmpty
(
memberId2
)&&!
StringUtils
.
isEmpty
(
benefitId2
)
&&
null
!=
Integer
.
valueOf
(
planCheckTotalBalance2
)){
JSONObject
jsonObject2
=
new
JSONObject
();
jsonObject2
.
put
(
"planCheckTotalBalance"
,
planCheckTotalBalance2
);
jsonObject2
.
put
(
"memberId"
,
memberId2
);
jsonObject2
.
put
(
"benefitId"
,
benefitId2
);
memberInfoList
.
add
(
jsonObject2
);
}
jsonObject
.
put
(
"memberInfoList"
,
memberInfoList
);
...
...
@@ -823,5 +828,89 @@ public class ReserveTools extends XMBaseTest {
return
response
;
}
/**
* 获取批量代预约的上课日期
* @param courseId 课程ID
* @param coachId 教练ID
* @param startDate 日期范围的开始日期
* @param endDate 日期范围的结束日期
* @param leftCapacity 剩余可约人数,1V1 默认为1,不能操作修改
* @param minuteOffset 上课开始时间 小时为单位 ,比如19:30上课,那么minuteOffset=19.5*60=1170
* @param spanMinutes 课程的上课时长60
* @param weekdays 上课星期
*/
public
void
getPersonalBatchReserveTimeBlockList
(
String
courseId
,
String
coachId
,
String
startDate
,
String
endDate
,
int
leftCapacity
,
int
minuteOffset
,
int
spanMinutes
,
List
<
Integer
>
weekdays
,
String
areaId
){
dataApi
.
setApiModule
(
ApiModule
.
Polar_Reserve
)
.
setApiName
(
"API_getPersonalBatchReserveTimeBlockList"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
();
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"weekdays"
,
weekdays
);
body
.
put
(
"courseId"
,
courseId
);
body
.
put
(
"coachId"
,
coachId
);
body
.
put
(
"startDate"
,
startDate
);
body
.
put
(
"endDate"
,
endDate
);
body
.
put
(
"leftCapacity"
,
leftCapacity
);
body
.
put
(
"minuteOffset"
,
minuteOffset
);
body
.
put
(
"spanMinutes"
,
spanMinutes
);
body
.
put
(
"pageSize"
,
12
);
if
(!
StringUtils
.
isEmpty
(
areaId
)){
body
.
put
(
"areaId"
,
areaId
);
}
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
// 操作人id
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toJSONString
(),
dataheadrs
);
//check 断言在业务中check
}
/**
* 批量代预约私教课
* @param planCheckBalance
* @param memberId
* @param benefitId
* @param courseId
* @param coachId
* @param minuteOffset
* @param reserveDayInfoList
* @param reserveMemberNum
* @param spanMinutes
*/
public
void
batchReservePersonal
(
int
planCheckBalance
,
String
memberId
,
String
benefitId
,
String
courseId
,
String
coachId
,
int
minuteOffset
,
List
<
JSONObject
>
reserveDayInfoList
,
int
reserveMemberNum
,
int
spanMinutes
,
String
areaId
){
dataApi
.
setApiModule
(
ApiModule
.
Polar_Reserve
)
.
setApiName
(
"API_batchReservePersonal"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
();
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"planCheckBalance"
,
planCheckBalance
);
body
.
put
(
"courseId"
,
courseId
);
body
.
put
(
"coachId"
,
coachId
);
body
.
put
(
"memberId"
,
memberId
);
body
.
put
(
"benefitId"
,
benefitId
);
body
.
put
(
"reserveDayInfoList"
,
reserveDayInfoList
);
body
.
put
(
"minuteOffset"
,
minuteOffset
);
body
.
put
(
"spanMinutes"
,
spanMinutes
);
body
.
put
(
"reserveMemberNum"
,
reserveMemberNum
);
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
if
(!
StringUtils
.
isEmpty
(
areaId
)){
body
.
put
(
"areaId"
,
areaId
);
}
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toJSONString
(),
dataheadrs
);
//check 断言在业务中check
}
}
src/main/java/com/xiaomai/cases/polar/reserve/personal/TestBatchReserve1v1Personal.java
0 → 100644
View file @
f0594f5d
This diff is collapsed.
Click to expand it.
src/main/java/com/xiaomai/cases/polar/reserve/personal/TestBatchReserve1vnPersonal.java
0 → 100644
View file @
f0594f5d
This diff is collapsed.
Click to expand it.
src/main/java/com/xiaomai/cases/polar/reserve/personal/TestReservePerson.java
View file @
f0594f5d
...
...
@@ -92,7 +92,7 @@ public class TestReservePerson extends BaseTestImpl {
throw
new
RuntimeException
(
e
);
}
// 第二步:查询存量的学员,如果没有则新建
createMember
(
"私教约课学员佳佳"
);
createMember
(
"私教约课学员佳佳"
,
courseId
);
// 第三步:查询存量的私教教练,并将教练添加到课程中
// 获取到员工
...
...
@@ -247,7 +247,7 @@ public class TestReservePerson extends BaseTestImpl {
// check 2:会员详情 - 预约记录已取消
JSONArray
getPageByMember
=
reserveTools
.
getPageByMember
(
courseId
,
"RESERVE_CANCEL"
,
""
,
""
,
timestamp
,
TimeUtils
.
getTodayEndTime
(),
memberId
,
"
GROUP_CLASS
"
);
JSONArray
getPageByMember
=
reserveTools
.
getPageByMember
(
courseId
,
"RESERVE_CANCEL"
,
""
,
""
,
timestamp
,
TimeUtils
.
getTodayEndTime
(),
memberId
,
"
PERSONAL
"
);
for
(
int
i
=
0
;
i
<
getPageByMember
.
size
();
i
++){
if
(
getPageByMember
.
getJSONObject
(
i
).
getString
(
"id"
).
equals
(
reserveId
)){
Assert
.
assertEquals
(
getPageByMember
.
getJSONObject
(
i
).
getString
(
"reserveState"
),
"RESERVE_CANCEL"
,
"取消约课状态不是已取消"
);
...
...
@@ -255,7 +255,7 @@ public class TestReservePerson extends BaseTestImpl {
}
// check 3:预约记录列表中已取消
JSONArray
getPageByStudio
=
reserveTools
.
getPageByStudio
(
courseId
,
"RESERVE_CANCEL"
,
""
,
""
,
timestamp
,
TimeUtils
.
getTodayEndTime
(),
memberId
,
"
GROUP_CLASS
"
,
""
);;
JSONArray
getPageByStudio
=
reserveTools
.
getPageByStudio
(
courseId
,
"RESERVE_CANCEL"
,
""
,
""
,
timestamp
,
TimeUtils
.
getTodayEndTime
(),
memberId
,
"
PERSONAL
"
,
""
);;
for
(
int
i
=
0
;
i
<
getPageByStudio
.
size
();
i
++){
if
(
getPageByStudio
.
getJSONObject
(
i
).
getString
(
"id"
).
equals
(
reserveId
)){
Assert
.
assertEquals
(
getPageByStudio
.
getJSONObject
(
i
).
getString
(
"reserveState"
),
"RESERVE_CANCEL"
,
"取消约课状态不是已取消"
);
...
...
@@ -287,7 +287,7 @@ public class TestReservePerson extends BaseTestImpl {
throw
new
RuntimeException
(
e
);
}
// 第二步:查询存量的学员,如果没有则新建
member1
=
createMember
(
"1V3私教约课学员李萌"
);
member1
=
createMember
(
"1V3私教约课学员李萌"
,
courseId
);
// 第三步:查询存量的私教教练,并将教练添加到课程中
// 获取到员工
...
...
@@ -370,7 +370,7 @@ public class TestReservePerson extends BaseTestImpl {
Assert
.
assertTrue
(
success
,
"约课后课次详情学员不在课次中"
);
// 学员2进行预约
member2
=
createMember
(
"1V3私教约课学员2程晨"
);
member2
=
createMember
(
"1V3私教约课学员2程晨"
,
courseId
);
reserveId
=
reserveTools
.
addPersonalReserve
(
""
,
courseId
,
coachedId
,
member2
.
getString
(
0
),
member2
.
getString
(
1
),
10
,
1
,
scheduleId
,
timestamp
,
true
);
member2
.
add
(
reserveId
);
...
...
@@ -473,7 +473,7 @@ public class TestReservePerson extends BaseTestImpl {
// check 2:会员详情 - 预约记录已取消
JSONArray
getPageByMember
=
reserveTools
.
getPageByMember
(
courseId
,
"RESERVE_CANCEL"
,
""
,
""
,
timestamp
,
TimeUtils
.
getTodayEndTime
(),
member2
.
getString
(
0
),
"
GROUP_CLASS
"
);
JSONArray
getPageByMember
=
reserveTools
.
getPageByMember
(
courseId
,
"RESERVE_CANCEL"
,
""
,
""
,
timestamp
,
TimeUtils
.
getTodayEndTime
(),
member2
.
getString
(
0
),
"
PERSONAL
"
);
for
(
int
i
=
0
;
i
<
getPageByMember
.
size
();
i
++){
if
(
getPageByMember
.
getJSONObject
(
i
).
getString
(
"id"
).
equals
(
member2
.
getString
(
3
))){
Assert
.
assertEquals
(
getPageByMember
.
getJSONObject
(
i
).
getString
(
"reserveState"
),
"RESERVE_CANCEL"
,
"取消约课状态不是已取消"
);
...
...
@@ -481,7 +481,7 @@ public class TestReservePerson extends BaseTestImpl {
}
// check 3:预约记录列表中已取消
JSONArray
getPageByStudio
=
reserveTools
.
getPageByStudio
(
courseId
,
"RESERVE_CANCEL"
,
""
,
""
,
timestamp
,
TimeUtils
.
getTodayEndTime
(),
member2
.
getString
(
0
),
"
GROUP_CLASS
"
,
""
);;
JSONArray
getPageByStudio
=
reserveTools
.
getPageByStudio
(
courseId
,
"RESERVE_CANCEL"
,
""
,
""
,
timestamp
,
TimeUtils
.
getTodayEndTime
(),
member2
.
getString
(
0
),
"
PERSONAL
"
,
""
);;
for
(
int
i
=
0
;
i
<
getPageByStudio
.
size
();
i
++){
if
(
getPageByStudio
.
getJSONObject
(
i
).
getString
(
"id"
).
equals
(
member2
.
getString
(
3
))){
Assert
.
assertEquals
(
getPageByStudio
.
getJSONObject
(
i
).
getString
(
"reserveState"
),
"RESERVE_CANCEL"
,
"取消约课状态不是已取消"
);
...
...
@@ -512,7 +512,7 @@ public class TestReservePerson extends BaseTestImpl {
* @param memberName
* @return: com.alibaba.fastjson.JSONArray
**/
public
JSONArray
createMember
(
String
memberName
){
public
JSONArray
createMember
(
String
memberName
,
String
courseId
){
// 查询存量的学员没有则创建学员,
if
(
tools
.
commonSearch
(
memberName
,
"NORMAL"
).
getJSONArray
(
"result"
).
size
()>
0
){
memberId
=
tools
.
commonSearch
(
memberName
,
"NORMAL"
).
getJSONArray
(
"result"
).
getJSONObject
(
0
).
getString
(
"id"
);
...
...
src/main/java/com/xiaomai/cases/polar/schedule/camp/TestEditCurrentAndSubsequentCampSchedule.java
View file @
f0594f5d
...
...
@@ -142,7 +142,7 @@ public class TestEditCurrentAndSubsequentCampSchedule extends SelectTargetTraini
}
//后续检查点check
Thread
.
sleep
(
1
000
);
Thread
.
sleep
(
3
000
);
//1.查询排课日程:根据训练营查询,应该对应训练营可以查到2条数据,原日程和修改后生成的日程
campScheduleTools
.
getCampRuleScheduleList
(
super
.
campId
,
super
.
courseId
,
""
);
Assert
.
assertTrue
(
XMJSONPath
.
getJSONArrayByReadPath
(
dataApi
.
getApi_response
(),
"$.result"
).
size
()
==
2
,
"编辑当前及后续课次成功后,日程中没查询到2条对应数据"
);
...
...
@@ -210,6 +210,7 @@ public class TestEditCurrentAndSubsequentCampSchedule extends SelectTargetTraini
//删除数据
this
.
getTrainingTools
().
deleteTraining
(
campId
);
//训练营被删除后,对应的排课日程会被自动删除check
Thread
.
sleep
(
2000
);
campScheduleTools
.
getCampRuleScheduleList
(
campId
,
""
,
""
);
Assert
.
assertTrue
(
XMJSONPath
.
getJSONArrayByReadPath
(
dataApi
.
getApi_response
(),
"$.result"
).
toJavaList
(
JSONObject
.
class
).
stream
().
filter
(
e
->
e
.
getString
(
"ruleId"
).
equals
(
ruldId
)).
count
()==
0
,
"训练营被删除后,对应的排课日程会被自动删除,目前还有相关数据ruldId请检查"
);
Assert
.
assertTrue
(
XMJSONPath
.
getJSONArrayByReadPath
(
dataApi
.
getApi_response
(),
"$.result"
).
toJavaList
(
JSONObject
.
class
).
stream
().
filter
(
e
->
e
.
getString
(
"ruleId"
).
equals
(
newRuldId
)).
count
()==
0
,
"训练营被删除后,对应的排课日程会被自动删除,目前还有相关数据newRuldId请检查"
);
...
...
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