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
96eabc74
Commit
96eabc74
authored
Jun 30, 2024
by
yangjian
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
b7986cdd
a481c5ad
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
164 additions
and
6 deletions
+164
-6
src/main/java/com/xiaomai/cases/polar/schedule/group/GroupScheduleTools.java
+2
-2
src/main/java/com/xiaomai/cases/polar/schedule/group/TestCreateGroupRuleSchedule.java
+1
-3
src/main/java/com/xiaomai/cases/polar/schedule/group/TestEditGroupRuleSchedule.java
+1
-1
src/main/java/com/xiaomai/cases/polar/schedule/group/TestGetGroupScheduleTable.java
+160
-0
No files found.
src/main/java/com/xiaomai/cases/polar/schedule/group/GroupScheduleTools.java
View file @
96eabc74
...
...
@@ -37,7 +37,7 @@ public class GroupScheduleTools extends XMBaseTest {
super
.
beforeDataRequest
(
userInfo
);
}
/**
/**
* 创建团课排课
*
* @param courseId 团课课程ID
...
...
@@ -46,7 +46,7 @@ public class GroupScheduleTools extends XMBaseTest {
* @param endDate 排课结束日期
* @param venueAreaIds 场馆ID
* @param assistCoachIds 助教ID
* @param force 是否冲突
* @param force 是否冲突
false有2种场景:1无冲突时直接传false排课创建成功,2是有冲突时传false代表不忽略冲突,不会创建排课;true是指有冲突时忽略冲突,选择仍要排课【没冲突时就传false,有冲突就传true,如果排课时有冲突但是传了false不会创建排课哈】
* @param endType 排课结束方式:1 按日期,2 按次数
*/
public
void
createGroupRuleSchedule
(
String
courseId
,
String
chiefCoachId
,
String
startDate
,
String
endDate
,
List
<
String
>
venueAreaIds
,
List
<
String
>
assistCoachIds
,
Boolean
force
,
int
endType
,
int
minuteOffset
,
DataUserInfo
...
userInfo
)
{
...
...
src/main/java/com/xiaomai/cases/polar/schedule/group/TestCreateGroupRuleSchedule.java
View file @
96eabc74
package
com
.
xiaomai
.
cases
.
polar
.
schedule
.
group
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.basetest.BaseTestImpl
;
import
com.xiaomai.cases.polar.course.CourseTools
;
import
com.xiaomai.cases.polar.setting.courseCategory.CourseCategoryTools
;
...
...
@@ -18,7 +17,6 @@ import org.testng.annotations.Test;
import
javax.annotation.Resource
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* @author adu
...
...
@@ -72,7 +70,7 @@ public class TestCreateGroupRuleSchedule extends BaseTestImpl {
List
<
String
>
assistCoachIds
=
new
ArrayList
<>();
assistCoachIds
.
add
(
"木头"
);
assistCoachIds
.
add
(
"吴彦祖"
);
List
<
String
>
assistCoachIdS
=
groupScheduleTools
.
getStudioAdminId
(
chiefCoachId
);
List
<
String
>
assistCoachIdS
=
groupScheduleTools
.
getStudioAdminId
(
assistCoachIds
);
//1-创建排课日程
groupScheduleTools
.
createGroupRuleSchedule
(
courseId
,
chiefCoachIdS
,
todayStartTimeTamp
,
endDateTimeTamp
,
venueAreaIds
,
assistCoachIdS
,
false
,
1
,
480
);
...
...
src/main/java/com/xiaomai/cases/polar/schedule/group/TestEditGroupRuleSchedule.java
View file @
96eabc74
...
...
@@ -60,7 +60,7 @@ public class TestEditGroupRuleSchedule extends BaseTestImpl {
List
<
String
>
assistCoachIds
=
new
ArrayList
<>();
assistCoachIds
.
add
(
"木头"
);
assistCoachIds
.
add
(
"吴彦祖"
);
List
<
String
>
assistCoachIdS
=
groupScheduleTools
.
getStudioAdminId
(
chiefCoachId
);
List
<
String
>
assistCoachIdS
=
groupScheduleTools
.
getStudioAdminId
(
assistCoachIds
);
//1-创建排课日程
groupScheduleTools
.
createGroupRuleSchedule
(
courseId
,
chiefCoachIdS
,
theDayBeforeYesterdayTimeTamp
,
endDateTimeTamp
,
new
ArrayList
<>(),
assistCoachIdS
,
false
,
1
,
720
);
//2-查询排课日程
...
...
src/main/java/com/xiaomai/cases/polar/schedule/group/TestGetGroupScheduleTable.java
0 → 100644
View file @
96eabc74
package
com
.
xiaomai
.
cases
.
polar
.
schedule
.
group
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.basetest.BaseTestImpl
;
import
com.xiaomai.cases.polar.course.CourseTools
;
import
com.xiaomai.cases.polar.setting.courseCategory.CourseCategoryTools
;
import
com.xiaomai.cases.polar.setting.venue.VenueAreaTools
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
com.xiaomai.utils.CommUtil
;
import
com.xiaomai.utils.XMJSONPath
;
import
org.testng.Assert
;
import
org.testng.annotations.*
;
import
javax.annotation.Resource
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* 查看团课课表
*
* @author adu
* data 2024/6/30 11:19
*/
public
class
TestGetGroupScheduleTable
extends
BaseTestImpl
{
@Resource
(
name
=
"courseCategoryTools"
)
CourseCategoryTools
courseCategoryTools
;
@Resource
(
name
=
"courseTools"
)
CourseTools
courseTools
;
@Resource
(
name
=
"groupScheduleTools"
)
GroupScheduleTools
groupScheduleTools
;
@Resource
(
name
=
"venueAreaTools"
)
VenueAreaTools
venueAreaTools
;
String
courseName
=
"阿杜自动化团课课程"
;
String
courseId
=
""
;
String
venueAreaId
=
""
;
String
chiefCoachIdS
=
""
;
String
assistCoachId1
=
""
;
String
assistCoachId2
=
""
;
List
<
String
>
venueAreaIds
=
null
;
List
<
String
>
assistCoachIdS
=
null
;
@BeforeClass
public
void
beforeTest
()
{
setTestInfo
(
ApiModule
.
Polar_Schedule
,
"API_getGroupScheduleTable"
,
LoginAccount
.
ADU_PROD
,
Terminal
.
B
,
"adu"
);
super
.
beforeTest
();
//获取存量课程ID
courseId
=
groupScheduleTools
.
getStockGroupCourseId
(
courseName
);
if
(
courseId
==
""
)
{
//获取存量课程分类ID
String
categoryId
=
courseCategoryTools
.
getCourseCategoryPage
(
"普拉提"
);
courseId
=
courseTools
.
createGroupCourse
(
courseName
,
categoryId
,
"STUDIO"
);
}
//获取存量场地
venueAreaIds
=
groupScheduleTools
.
getStockArea
(
"流星花园秘密基地"
);
//获取存量教练
List
<
String
>
chiefCoachId
=
new
ArrayList
<>();
chiefCoachId
.
add
(
"杜君丽"
);
chiefCoachIdS
=
groupScheduleTools
.
getStudioAdminId
(
chiefCoachId
).
get
(
0
).
toString
();
//获取存量助教
List
<
String
>
assistCoachIds
=
new
ArrayList
<>();
assistCoachIds
.
add
(
"木头"
);
assistCoachIds
.
add
(
"吴彦祖"
);
assistCoachIdS
=
groupScheduleTools
.
getStudioAdminId
(
assistCoachIds
);
//1.创建排课
groupScheduleTools
.
createGroupRuleSchedule
(
courseId
,
chiefCoachIdS
,
CommUtil
.
oneKeyGetWeekStartDay
(),
CommUtil
.
oneKeyGetWeekEndDay
(),
venueAreaIds
,
assistCoachIdS
,
false
,
1
,
480
);
//2.创建排课,构造冲突
groupScheduleTools
.
createGroupRuleSchedule
(
courseId
,
chiefCoachIdS
,
CommUtil
.
oneKeyGetWeekStartDay
(),
CommUtil
.
oneKeyGetWeekEndDay
(),
venueAreaIds
,
assistCoachIdS
,
true
,
1
,
480
);
//获取存量场地
venueAreaId
=
venueAreaIds
.
get
(
0
).
toString
();
//获取存量助教
assistCoachId1
=
assistCoachIdS
.
get
(
0
).
toString
();
assistCoachId2
=
assistCoachIdS
.
get
(
1
).
toString
();
}
@DataProvider
(
name
=
"filterGroupScheduleTableDateByCondition"
)
public
Object
[][]
dataProvider
()
{
//组装已上课课次状态
List
<
String
>
doneStatus
=
new
ArrayList
<>();
doneStatus
.
add
(
"IN_PROGRESS"
);
doneStatus
.
add
(
"DONE"
);
//组装待上课课次状态
List
<
String
>
todoStatus
=
new
ArrayList
<>();
todoStatus
.
add
(
"TODO"
);
//组装已取消课次状态
List
<
String
>
cancelledStatus
=
new
ArrayList
<>();
cancelledStatus
.
add
(
"CANCELLED"
);
return
new
Object
[][]{
{
""
,
""
,
""
,
new
ArrayList
<>(),
14
},
//无筛选条件
{
courseId
,
""
,
""
,
new
ArrayList
<>(),
14
},
//根据课程
{
""
,
chiefCoachIdS
,
""
,
new
ArrayList
<>(),
14
},
//根据主教练
{
""
,
assistCoachId1
,
""
,
new
ArrayList
<>(),
14
},
//根据助教1
{
""
,
assistCoachId2
,
""
,
new
ArrayList
<>(),
14
},
//根据助教2
{
""
,
""
,
venueAreaId
,
new
ArrayList
<>(),
14
},
//根据场地
{
""
,
""
,
""
,
doneStatus
,
0
},
//根据课程状态已上课["IN_PROGRESS", "DONE"]
{
""
,
""
,
""
,
todoStatus
,
14
},
//根据课程状态待上课["TODO"]
{
""
,
""
,
""
,
cancelledStatus
,
0
},
//根据课程状态已取消["CANCELLED"]
{
""
,
chiefCoachIdS
,
venueAreaId
,
new
ArrayList
<>(),
14
},
//根据场地和主教练
{
courseId
,
assistCoachId2
,
venueAreaId
,
new
ArrayList
<>(),
14
},
//场地和助教,课程
{
courseId
,
chiefCoachIdS
,
venueAreaId
,
todoStatus
,
14
},
// 课程名称,教练,课次状态(待上课),场地
};
}
@Test
(
dataProvider
=
"filterGroupScheduleTableDateByCondition"
)
public
void
testGetGroupScheduleTable
(
String
courseId
,
String
coachId
,
String
venueAreaId
,
List
<
String
>
statusSet
,
int
totalCount
)
{
//1. 查看/筛选团课课表
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"
,
CommUtil
.
oneKeyGetWeekStartDay
());
body
.
put
(
"endDate"
,
CommUtil
.
oneKeyGetWeekEndDay
());
body
.
put
(
"courseId"
,
courseId
);
body
.
put
(
"coachId"
,
coachId
);
body
.
put
(
"venueAreaId"
,
venueAreaId
);
body
.
put
(
"statusSet"
,
statusSet
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
.
toString
(),
headers
).
assetsSuccess
(
true
);
int
resultCount
=
Integer
.
parseInt
(
XMJSONPath
.
readPath
(
xmAppApi
.
getApi_response
(),
"$.result.totalCount"
));
Assert
.
assertTrue
(
resultCount
>=
totalCount
,
"查询到的课表数据和预期不一致"
);
}
@AfterClass
(
description
=
"删除此case创建的日程"
)
public
void
delData
(){
List
<
String
>
ruleIdIds
=
new
ArrayList
<>();
//查询这个case创建的相关日程
JSONArray
result
=
groupScheduleTools
.
getGroupRuleScheduleList
(
courseId
,
chiefCoachIdS
);
int
count
=
result
.
size
();
if
(
count
>
0
)
{
//如果有数据,则获取对应日程ID
ruleIdIds
=
result
.
stream
().
map
(
obj
->
{
JSONObject
ruldIdInfo
=
(
JSONObject
)
obj
;
return
ruldIdInfo
.
getString
(
"ruleId"
);
}
).
collect
(
Collectors
.
toList
());
}
if
(
ruleIdIds
!=
null
)
{
//获取到的日程ID不为空时,则逐个删除相关日程
ruleIdIds
.
stream
().
forEach
(
ruleId
->
{
//删除对应日程
groupScheduleTools
.
delGroupRuleSchedule
(
ruleId
,
true
);
});
}
}
}
\ 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