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
32e518d7
Commit
32e518d7
authored
Jul 01, 2024
by
yangfangfang
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
764911f5
0b985fca
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
52 changed files
with
2692 additions
and
49 deletions
+2692
-49
module/polar/小程序装修.xml
+17
-0
module/polar/线索管理.xml
+3
-3
src/main/java/com/xiaomai/basetest/BaseTestImpl.java
+4
-0
src/main/java/com/xiaomai/cases/polar/admin/AdminTools.java
+126
-5
src/main/java/com/xiaomai/cases/polar/admin/TestAddStudioAdmin.java
+47
-5
src/main/java/com/xiaomai/cases/polar/admin/TestCheckDepartStudioAdmin.java
+79
-0
src/main/java/com/xiaomai/cases/polar/admin/TestCheckModifyTeaching.java
+71
-0
src/main/java/com/xiaomai/cases/polar/admin/TestDepartStudioAdmin.java
+16
-6
src/main/java/com/xiaomai/cases/polar/admin/TestEditStudioAdmin.java
+19
-7
src/main/java/com/xiaomai/cases/polar/admin/TestFindStudioBossInBrand.java
+51
-0
src/main/java/com/xiaomai/cases/polar/admin/TestReinStateStudioAdmin.java
+16
-5
src/main/java/com/xiaomai/cases/polar/applet/AppletTools.java
+70
-0
src/main/java/com/xiaomai/cases/polar/applet/TestCheckXcxCashierStatus.java
+48
-0
src/main/java/com/xiaomai/cases/polar/applet/TestChooseUseXcx.java
+47
-0
src/main/java/com/xiaomai/cases/polar/applet/TestGetAuthDetail.java
+47
-0
src/main/java/com/xiaomai/cases/polar/applet/TestGetExcXcxStatus.java
+42
-0
src/main/java/com/xiaomai/cases/polar/applet/TestGetStyleConfig.java
+34
-0
src/main/java/com/xiaomai/cases/polar/applet/TestGetXcxIndexQrCode.java
+40
-0
src/main/java/com/xiaomai/cases/polar/applet/TestSetPageConfig.java
+65
-0
src/main/java/com/xiaomai/cases/polar/applet/TestSetStyleConfig.java
+46
-0
src/main/java/com/xiaomai/cases/polar/clue/MemberTools.java
+0
-0
src/main/java/com/xiaomai/cases/polar/clue/TestBatchUpdateSaleRule.java
+66
-0
src/main/java/com/xiaomai/cases/polar/clue/TestCancelFeedback.java
+87
-0
src/main/java/com/xiaomai/cases/polar/clue/TestClaim.java
+92
-0
src/main/java/com/xiaomai/cases/polar/clue/TestCommonSearch.java
+14
-1
src/main/java/com/xiaomai/cases/polar/clue/TestContinueFeedback.java
+107
-0
src/main/java/com/xiaomai/cases/polar/clue/TestCountWechatSubscriber.java
+38
-0
src/main/java/com/xiaomai/cases/polar/clue/TestCreate.java
+69
-5
src/main/java/com/xiaomai/cases/polar/clue/TestCreateFeedback.java
+117
-0
src/main/java/com/xiaomai/cases/polar/clue/TestDisable.java
+72
-0
src/main/java/com/xiaomai/cases/polar/clue/TestDistributeToPrivate.java
+72
-0
src/main/java/com/xiaomai/cases/polar/clue/TestDistributeToPublic.java
+73
-0
src/main/java/com/xiaomai/cases/polar/clue/TestFetchMyQuickSearch.java
+41
-0
src/main/java/com/xiaomai/cases/polar/clue/TestFetchQuickSearch.java
+42
-0
src/main/java/com/xiaomai/cases/polar/clue/TestFindByObjectId.java
+48
-0
src/main/java/com/xiaomai/cases/polar/clue/TestGetDetailById.java
+15
-4
src/main/java/com/xiaomai/cases/polar/clue/TestModifyFeedback.java
+91
-0
src/main/java/com/xiaomai/cases/polar/clue/TestRecycle.java
+89
-0
src/main/java/com/xiaomai/cases/polar/clue/TestRelease.java
+94
-0
src/main/java/com/xiaomai/cases/polar/clue/TestRestore.java
+89
-0
src/main/java/com/xiaomai/cases/polar/clue/TestSearchMember.java
+8
-2
src/main/java/com/xiaomai/cases/polar/clue/TestSummaryFeedback.java
+43
-0
src/main/java/com/xiaomai/cases/polar/clue/TestUpdate.java
+14
-5
src/main/java/com/xiaomai/cases/polar/member/TestAppointCoach.java
+144
-0
src/main/java/com/xiaomai/cases/polar/memberCard/TestFetchPageOfHistory.java
+47
-0
src/main/java/com/xiaomai/cases/polar/memberCard/TestModifyShelfState.java
+68
-0
src/main/java/com/xiaomai/cases/polar/memberCard/TestModifyXcxSaleState.java
+67
-0
src/main/java/com/xiaomai/cases/polar/memberCard/TestTenantMemberCard_update.java
+87
-0
src/main/java/com/xiaomai/cases/polar/studioConfig/ConfigTools.java
+5
-0
src/main/java/com/xiaomai/client/OkHttpClient.java
+2
-1
src/main/java/com/xiaomai/enums/ApiModule.java
+1
-0
src/main/java/com/xiaomai/enums/LoginAccount.java
+2
-0
No files found.
module/polar/小程序装修.xml
0 → 100644
View file @
32e518d7
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite
name=
"小程序装修case"
>
<!-- 起一个好听且唯一的名字-->
<test
name=
"小程序装修测试"
preserve-order=
"true"
verbose=
"3"
>
<!-- 再起一个听且唯一的名字 -->
<packages>
<package
name=
"com.xiaomai.cases.polar.applet.*"
></package>
<!-- 添加自己想要集成测试的case 范围自己定 -->
</packages>
</test>
<listeners>
<listener
class-name=
"com.xiaomai.client.RetryListener"
/>
<listener
class-name=
"com.xiaomai.client.TestListener"
/>
<listener
class-name=
"com.xiaomai.client.ExtentTestNGIReporterListener"
/>
</listeners>
</suite>
\ No newline at end of file
module/polar/线索管理.xml
View file @
32e518d7
<?xml
version="1.0" encoding="UTF-8"?>
<?xml
version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite
name=
"
通用设置场景
case"
>
<!-- 起一个好听且唯一的名字-->
<suite
name=
"
线索管理
case"
>
<!-- 起一个好听且唯一的名字-->
<test
name=
"
通用设置模块
测试"
preserve-order=
"true"
verbose=
"3"
>
<!-- 再起一个听且唯一的名字 -->
<test
name=
"
线索管理
测试"
preserve-order=
"true"
verbose=
"3"
>
<!-- 再起一个听且唯一的名字 -->
<packages>
<packages>
<package
name=
"com.xiaomai.cases.polar.clue.*"
></package>
<!-- 添加自己想要集成测试的case 范围自己定 -->
<package
name=
"com.xiaomai.cases.polar.clue.*"
></package>
<!-- 添加自己想要集成测试的case 范围自己定 -->
</packages>
</packages>
...
...
src/main/java/com/xiaomai/basetest/BaseTestImpl.java
View file @
32e518d7
...
@@ -45,6 +45,10 @@ public abstract class BaseTestImpl extends XMBaseTest implements BaseTestInterfa
...
@@ -45,6 +45,10 @@ public abstract class BaseTestImpl extends XMBaseTest implements BaseTestInterfa
return
this
.
caseOwner
;
return
this
.
caseOwner
;
}
}
public
void
setLoginUser
(
String
loginUser
)
{
this
.
loginUser
=
loginUser
;
}
public
void
setTestInfo
(
String
apiModuleName
,
String
loginUser
,
String
terminal
,
String
caseOwner
)
{
public
void
setTestInfo
(
String
apiModuleName
,
String
loginUser
,
String
terminal
,
String
caseOwner
)
{
this
.
apiModuleName
=
apiModuleName
;
this
.
apiModuleName
=
apiModuleName
;
this
.
loginUser
=
loginUser
;
this
.
loginUser
=
loginUser
;
...
...
src/main/java/com/xiaomai/cases/polar/admin/AdminTools.java
View file @
32e518d7
...
@@ -35,7 +35,7 @@ public class AdminTools extends XMBaseTest {
...
@@ -35,7 +35,7 @@ public class AdminTools extends XMBaseTest {
super
.
beforeDataRequest
(
dataUserInfos
);
super
.
beforeDataRequest
(
dataUserInfos
);
JSONObject
body
=
new
JSONObject
();
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"phone"
,
RandomStringUtil
.
randomMobile
(
"10
0
"
));
body
.
put
(
"phone"
,
RandomStringUtil
.
randomMobile
(
"10
3
"
));
String
name
=
RandomStringUtil
.
random_name
();
String
name
=
RandomStringUtil
.
random_name
();
body
.
put
(
"name"
,
name
);
body
.
put
(
"name"
,
name
);
body
.
put
(
"nickName"
,
name
);
body
.
put
(
"nickName"
,
name
);
...
@@ -117,11 +117,11 @@ public class AdminTools extends XMBaseTest {
...
@@ -117,11 +117,11 @@ public class AdminTools extends XMBaseTest {
* @param adminId:员工id
* @param adminId:员工id
* @return: com.alibaba.fastjson.JSONObject
* @return: com.alibaba.fastjson.JSONObject
**/
**/
public
JSONObject
getStudioAdmin
(
String
adminId
){
public
JSONObject
getStudioAdmin
(
String
adminId
,
DataUserInfo
...
dataUserInfo
){
dataApi
.
setApiModule
(
ApiModule
.
Polar_Admin
)
dataApi
.
setApiModule
(
ApiModule
.
Polar_Admin
)
.
setApiName
(
"API_getStudioAdmin"
)
.
setApiName
(
"API_getStudioAdmin"
)
.
setTerminal
(
Terminal
.
B
);
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
();
super
.
beforeDataRequest
(
dataUserInfo
);
String
body
=
"{\"id\":\""
+
adminId
+
"\"}"
;
String
body
=
"{\"id\":\""
+
adminId
+
"\"}"
;
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
,
dataheadrs
).
assetsSuccess
(
true
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
,
dataheadrs
).
assetsSuccess
(
true
);
...
@@ -134,11 +134,11 @@ public class AdminTools extends XMBaseTest {
...
@@ -134,11 +134,11 @@ public class AdminTools extends XMBaseTest {
* @param body:请求参数
* @param body:请求参数
* @return: com.alibaba.fastjson.JSONObject
* @return: com.alibaba.fastjson.JSONObject
**/
**/
public
JSONObject
pageStudioAdmin
(
String
body
){
public
JSONObject
pageStudioAdmin
(
String
body
,
DataUserInfo
...
userInfo
){
dataApi
.
setApiModule
(
ApiModule
.
Polar_Admin
)
dataApi
.
setApiModule
(
ApiModule
.
Polar_Admin
)
.
setApiName
(
"API_pageStudioAdmin"
)
.
setApiName
(
"API_pageStudioAdmin"
)
.
setTerminal
(
Terminal
.
B
);
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
();
super
.
beforeDataRequest
(
userInfo
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
,
dataheadrs
).
assetsSuccess
(
true
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
,
dataheadrs
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
();
return
dataApi
.
getBodyInJSON
();
...
@@ -238,6 +238,127 @@ public class AdminTools extends XMBaseTest {
...
@@ -238,6 +238,127 @@ public class AdminTools extends XMBaseTest {
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
,
dataheadrs
).
assetsSuccess
(
true
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
,
dataheadrs
).
assetsSuccess
(
true
);
}
}
/**
* @description:检查手机号是品牌下场馆的主账号
* @author: xuyamei
* @date: 2024/7/1 11:06
* @param dataUserInfo
* @return: com.alibaba.fastjson.JSONArray
**/
public
JSONArray
findStudioBossInBrand
(
DataUserInfo
...
dataUserInfo
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_Admin
)
.
setApiName
(
"API_findStudioBossInBrand"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
dataUserInfo
);
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"id"
,
dataApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
().
getJSONArray
(
"result"
);
}
/**
* @description:获取手机号在品牌下对应的员工
* @author: xuyamei
* @date: 2024/7/1 11:20
* @param phone
* @param dataUserInfo
* @return: com.alibaba.fastjson.JSONObject
**/
public
JSONObject
getAdminByPhone
(
String
phone
,
DataUserInfo
...
dataUserInfo
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_Admin
)
.
setApiName
(
"API_getAdminByPhone"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
dataUserInfo
);
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"phone"
,
phone
);
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
().
getJSONObject
(
"result"
);
}
/**
* @description 复用已有员工信息
* @author: xuyamei
* @date: 2024/7/1 11:37
* @param body :请求参数
* @param dataUserInfo
* @return: void
**/
public
void
useBrandAdmin
(
JSONObject
body
,
DataUserInfo
...
dataUserInfo
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_Admin
)
.
setApiName
(
"API_useBrandAdmin"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
dataUserInfo
);
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
}
/**
* @description:校验场馆员工离职
* @author: xuyamei
* @date: 2024/7/1 16:16
* @param userInfo
* @return: com.alibaba.fastjson.JSONObject
**/
public
JSONObject
checkDepartStudioAdmin
(
String
id
,
DataUserInfo
...
userInfo
){
dataApi
.
setApiModule
(
ApiModule
.
Polar_Admin
)
.
setApiName
(
"API_checkDepartStudioAdmin"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
userInfo
);
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"id"
,
id
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
().
getJSONObject
(
"result"
);
}
/**
* @description:校验取消授课或者移除所授课程
* @author: xuyamei
* @date: 2024/7/1 16:54
* @param id :员工id
* @param teaching :是否授课
* @param coachTeachingTypes :授课类型 ["LEAGUE_CLASS","PERSONAL_TRAINERS", "TRAINING_CAMP"]
* @param userInfo
* @return: com.alibaba.fastjson.JSONObject
**/
public
JSONObject
checkModifyTeaching
(
String
id
,
boolean
teaching
,
JSONArray
coachTeachingTypes
,
DataUserInfo
...
userInfo
){
dataApi
.
setApiModule
(
ApiModule
.
Polar_Admin
)
.
setApiName
(
"API_checkModifyTeaching"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
userInfo
);
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"id"
,
id
);
JSONObject
teach
=
new
JSONObject
();
teach
.
put
(
"teaching"
,
teaching
);
// 是否授课
teach
.
put
(
"coachTeachingTypes"
,
coachTeachingTypes
);
body
.
put
(
"teaching"
,
teach
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
().
getJSONObject
(
"result"
);
}
}
}
src/main/java/com/xiaomai/cases/polar/admin/TestAddStudioAdmin.java
View file @
32e518d7
package
com
.
xiaomai
.
cases
.
polar
.
admin
;
package
com
.
xiaomai
.
cases
.
polar
.
admin
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.basetest.BaseTestImpl
;
import
com.xiaomai.basetest.BaseTestImpl
;
import
com.xiaomai.cases.polar.studioConfig.ConfigTools
;
import
com.xiaomai.cases.polar.studioConfig.ConfigTools
;
import
com.xiaomai.client.DataUserInfo
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.Terminal
;
import
com.xiaomai.enums.Terminal
;
...
@@ -11,7 +13,6 @@ import org.testng.annotations.BeforeClass;
...
@@ -11,7 +13,6 @@ import org.testng.annotations.BeforeClass;
import
org.testng.annotations.Test
;
import
org.testng.annotations.Test
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
javax.swing.*
;
import
java.util.Random
;
import
java.util.Random
;
/**
/**
...
@@ -28,6 +29,7 @@ public class TestAddStudioAdmin extends BaseTestImpl {
...
@@ -28,6 +29,7 @@ public class TestAddStudioAdmin extends BaseTestImpl {
@Resource
(
name
=
"configTools"
)
@Resource
(
name
=
"configTools"
)
ConfigTools
configTools
;
ConfigTools
configTools
;
private
String
phone
;
@BeforeClass
@BeforeClass
public
void
beforeTest
(){
public
void
beforeTest
(){
...
@@ -39,6 +41,7 @@ public class TestAddStudioAdmin extends BaseTestImpl {
...
@@ -39,6 +41,7 @@ public class TestAddStudioAdmin extends BaseTestImpl {
public
void
testAddStudioAdmin
(){
public
void
testAddStudioAdmin
(){
String
[]
role
=
{
"店长"
,
"教练"
,
"销售主管"
,
"财务"
,
"前台"
};
String
[]
role
=
{
"店长"
,
"教练"
,
"销售主管"
,
"财务"
,
"前台"
};
Random
rand
=
new
Random
();
Random
rand
=
new
Random
();
JSONObject
addRequest
=
adminTools
.
addStudioAdmin
(
role
[
rand
.
nextInt
(
5
)]);
JSONObject
addRequest
=
adminTools
.
addStudioAdmin
(
role
[
rand
.
nextInt
(
5
)]);
// 添加角色成功后
// 添加角色成功后
String
result
=
dataApi
.
getBodyInJSON
().
getString
(
"result"
);
String
result
=
dataApi
.
getBodyInJSON
().
getString
(
"result"
);
...
@@ -49,6 +52,7 @@ public class TestAddStudioAdmin extends BaseTestImpl {
...
@@ -49,6 +52,7 @@ public class TestAddStudioAdmin extends BaseTestImpl {
}
}
// 查询员工详情内容
// 查询员工详情内容
JSONObject
adminInfo
=
adminTools
.
getStudioAdmin
(
result
);
JSONObject
adminInfo
=
adminTools
.
getStudioAdmin
(
result
);
phone
=
adminInfo
.
getJSONObject
(
"result"
).
getString
(
"phone"
);
String
[]
resultString
=
{
"name"
,
"phone"
,
"roles"
,
"teaching"
};
// 新建之后验证相应的值
String
[]
resultString
=
{
"name"
,
"phone"
,
"roles"
,
"teaching"
};
// 新建之后验证相应的值
for
(
int
i
=
0
;
i
<
resultString
.
length
;
i
++){
for
(
int
i
=
0
;
i
<
resultString
.
length
;
i
++){
// check 1:创建员工时的值与查询员工详情时的值是否一致
// check 1:创建员工时的值与查询员工详情时的值是否一致
...
@@ -58,7 +62,7 @@ public class TestAddStudioAdmin extends BaseTestImpl {
...
@@ -58,7 +62,7 @@ public class TestAddStudioAdmin extends BaseTestImpl {
}
}
try
{
try
{
Thread
.
sleep
(
2
000
);
Thread
.
sleep
(
10
000
);
}
catch
(
InterruptedException
e
)
{
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
throw
new
RuntimeException
(
e
);
}
}
...
@@ -69,10 +73,48 @@ public class TestAddStudioAdmin extends BaseTestImpl {
...
@@ -69,10 +73,48 @@ public class TestAddStudioAdmin extends BaseTestImpl {
}
}
@Test
(
description
=
"
添加员工,由于没有删除员工的操作,则每次随机取一个角色"
)
@Test
(
description
=
"
将添加的手机号在同品牌下其他场馆添加复用"
,
priority
=
1
)
public
void
testAddStudioAdmin1
(){
public
void
testAddStudioAdmin1
(){
for
(
int
i
=
0
;
i
<
2
;
i
++){
// 切换到另外一个场馆
JSONObject
addRequest
=
adminTools
.
addStudioAdmin
(
"教练"
);
DataUserInfo
dataUserInfo
=
new
DataUserInfo
();
dataUserInfo
.
setLoginUser
(
LoginAccount
.
GYM_PROD2
);
String
[]
role
=
{
"StudioOwner"
,
"StudioSaleManager"
,
"StudioFinance"
,
"StudioReception"
,
"StudioOwner"
};
Random
rand
=
new
Random
();
// 获取该手机号的员工信息
JSONObject
getAdminByPhone
=
adminTools
.
getAdminByPhone
(
phone
,
dataUserInfo
);
String
adminId
=
getAdminByPhone
.
getString
(
"id"
);
String
name
=
getAdminByPhone
.
getString
(
"name"
);
JSONArray
roles
=
new
JSONArray
();
roles
.
add
(
role
[
rand
.
nextInt
(
5
)]);
getAdminByPhone
.
put
(
"roles"
,
roles
);
// 角色
adminTools
.
useBrandAdmin
(
getAdminByPhone
,
dataUserInfo
);
// 查询员工详情内容
JSONObject
adminInfo
=
adminTools
.
getStudioAdmin
(
adminId
,
dataUserInfo
);
String
[]
resultString
=
{
"name"
,
"phone"
,
"roles"
,
"teaching"
};
// 新建之后验证相应的值
for
(
int
i
=
0
;
i
<
resultString
.
length
;
i
++){
// check 1:创建员工时的值与查询员工详情时的值是否一致
String
checkResult
=
resultString
[
i
].
equals
(
"roles"
)
?
roles
.
getString
(
0
)
:
getAdminByPhone
.
getString
(
resultString
[
i
]);
String
expected
=
resultString
[
i
].
equals
(
"roles"
)
?
adminInfo
.
getJSONObject
(
"result"
).
getJSONArray
(
resultString
[
i
]).
getJSONObject
(
0
).
getString
(
"code"
)
:
adminInfo
.
getJSONObject
(
"result"
).
getString
(
resultString
[
i
]);
Assert
.
assertEquals
(
checkResult
,
expected
,
"添加员工失败,员工详情与创建员工时的信息不一致"
);
}
try
{
Thread
.
sleep
(
10000
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
}
// check 2: 生成对应的操作日志
String
body
=
"{\"current\":0,\"size\":10,\"domainId\":\""
+
dataApi
.
getLoginInfo
().
getStudioId
()+
"\",\"brandId\": \""
+
xmAppApi
.
getLoginInfo
().
getBrandId
()+
"\",\"studioId\": \""
+
dataApi
.
getLoginInfo
().
getStudioId
()+
"\",\"content\": \""
+
name
+
"\",\"opEventKey\":\"ADD_ADMIN\"}"
;
JSONObject
response
=
configTools
.
getOpauditPage
(
body
,
dataUserInfo
);
Assert
.
assertEquals
(
response
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getJSONObject
(
"target"
).
getString
(
"targetId"
),
adminId
,
"添加员工未生成操作日志"
);
}
}
}
}
src/main/java/com/xiaomai/cases/polar/admin/TestCheckDepartStudioAdmin.java
0 → 100644
View file @
32e518d7
package
com
.
xiaomai
.
cases
.
polar
.
admin
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.basetest.BaseTestImpl
;
import
com.xiaomai.client.DataUserInfo
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.Terminal
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeClass
;
import
org.testng.annotations.DataProvider
;
import
org.testng.annotations.Test
;
import
javax.annotation.Resource
;
import
java.util.Random
;
/**
* @BelongsProject: xm-sportstest
* @BelongsPackage: com.xiaomai.cases.polar.admin
* @Author: xuyamei
* @CreateTime: 2024-07-01 16:17
* @Description: 校验场馆员工离职
* @Version: 1.0
*/
public
class
TestCheckDepartStudioAdmin
extends
BaseTestImpl
{
@Resource
(
name
=
"adminTools"
)
AdminTools
adminTools
;
@BeforeClass
public
void
beforeTest
(){
setTestInfo
(
ApiModule
.
Polar_Admin
,
"API_checkDepartStudioAdmin"
,
LoginAccount
.
GYM_PROD
,
Terminal
.
B
,
"xym"
);
super
.
beforeTest
();
}
@DataProvider
public
Object
[][]
dataProvider
(){
return
new
Object
[][]{
{
true
},
{
false
}
};
}
@Test
(
dataProvider
=
"dataProvider"
)
public
void
checkDepartStudioAdmin
(
boolean
isSuccess
){
if
(
isSuccess
){
// 查询的账号有不能离职的原因
JSONObject
response
=
adminTools
.
checkDepartStudioAdmin
(
xmAppApi
.
getLoginInfo
().
getAdminId
());
Assert
.
assertTrue
(
response
.
getJSONArray
(
"disables"
).
size
()>
0
,
"员工不能离职但是未返回不能离职的原因"
);
}
else
{
DataUserInfo
dataUserInfo
=
new
DataUserInfo
();
dataUserInfo
.
setLoginUser
(
LoginAccount
.
GYM_PROD2
);
// 查询的账号可以离职
String
body
=
"{\"size\":20,\"current\":0,\"state\":\"DUTY\"}"
;
JSONObject
adminPage
=
adminTools
.
pageStudioAdmin
(
body
,
dataUserInfo
);
int
total
=
Integer
.
parseInt
(
adminPage
.
getJSONObject
(
"result"
).
getString
(
"total"
));
if
(
total
>
0
){
int
pages
=
Integer
.
parseInt
(
adminPage
.
getJSONObject
(
"result"
).
getString
(
"pages"
));
// 随机获取一页
Random
rand
=
new
Random
();
int
pageIndex
=
rand
.
nextInt
(
pages
);
// 随机获取一页的随机员工
Random
random
=
new
Random
();
int
index
=
pageIndex
+
1
==
pages
?
random
.
nextInt
(
total
%
20
-
1
)+
1
:
random
.
nextInt
(
19
)+
1
;
body
=
"{\"size\":20,\"current\":"
+
pageIndex
+
",\"state\":\"DUTY\"}"
;
adminPage
=
adminTools
.
pageStudioAdmin
(
body
,
dataUserInfo
);
String
adminId
=
adminPage
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
index
).
getString
(
"id"
);
JSONObject
response
=
adminTools
.
checkDepartStudioAdmin
(
adminId
,
dataUserInfo
);
Assert
.
assertTrue
(
response
.
getJSONArray
(
"disables"
).
size
()
==
0
,
"员工能离职但是未返回不能离职的原因"
);
}
}
}
}
src/main/java/com/xiaomai/cases/polar/admin/TestCheckModifyTeaching.java
0 → 100644
View file @
32e518d7
package
com
.
xiaomai
.
cases
.
polar
.
admin
;
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.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.Terminal
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeClass
;
import
org.testng.annotations.DataProvider
;
import
org.testng.annotations.Test
;
import
javax.annotation.Resource
;
/**
* @BelongsProject: xm-sportstest
* @BelongsPackage: com.xiaomai.cases.polar.admin
* @Author: xuyamei
* @CreateTime: 2024-07-01 16:57
* @Description: 校验取消授课或者移除所授课程
* @Version: 1.0
*/
public
class
TestCheckModifyTeaching
extends
BaseTestImpl
{
@Resource
(
name
=
"adminTools"
)
AdminTools
adminTools
;
@Resource
(
name
=
"courseTools"
)
CourseTools
courseTools
;
@Resource
(
name
=
"courseCategoryTools"
)
CourseCategoryTools
courseCategoryTools
;
@BeforeClass
public
void
beforeTest
(){
setTestInfo
(
ApiModule
.
Polar_Admin
,
"API_addStudioAdmin"
,
LoginAccount
.
GYM_PROD
,
Terminal
.
B
,
"xym"
);
super
.
beforeTest
();
}
@DataProvider
()
public
Object
[][]
data
()
{
JSONArray
coachTeachingTypes
=
new
JSONArray
();
coachTeachingTypes
.
add
(
"LEAGUE_CLASS"
);
coachTeachingTypes
.
add
(
"PERSONAL_TRAINERS"
);
coachTeachingTypes
.
add
(
"TRAINING_CAMP"
);
return
new
Object
[][]{
{
false
,
coachTeachingTypes
},
{
true
,
coachTeachingTypes
}
};
}
@Test
(
description
=
"测试修改老师授课状态"
,
dataProvider
=
"data"
)
public
void
testCheckModifyTeaching
(
boolean
teaching
,
JSONArray
coachTeachingTypes
)
{
// 查询存量的课程分类
String
categoryId
=
courseCategoryTools
.
getCourseCategoryPage
(
"瑜伽"
);
// 查询私教课
courseTools
.
getPersonalOrGroupCourseId
(
"PERSONAL"
,
"瑜伽"
,
categoryId
,
"STUDIO"
,
"ONE_TO_MANY"
,
2
,
1
);
// 课程类型
if
(
teaching
){
coachTeachingTypes
.
remove
(
"PERSONAL_TRAINERS"
);
}
JSONObject
response
=
adminTools
.
checkModifyTeaching
(
xmAppApi
.
getLoginInfo
().
getAdminId
(),
teaching
,
coachTeachingTypes
);
Assert
.
assertTrue
(
response
.
getJSONArray
(
"disables"
).
size
()>
0
,
"修改是否授课或者还有其他关联业务关联不能移除 返回的结果是空"
);
}
}
src/main/java/com/xiaomai/cases/polar/admin/TestDepartStudioAdmin.java
View file @
32e518d7
...
@@ -12,6 +12,7 @@ import org.testng.annotations.BeforeClass;
...
@@ -12,6 +12,7 @@ import org.testng.annotations.BeforeClass;
import
org.testng.annotations.Test
;
import
org.testng.annotations.Test
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.util.Random
;
/**
/**
* @BelongsProject: xm-sportstest
* @BelongsProject: xm-sportstest
...
@@ -31,20 +32,29 @@ public class TestDepartStudioAdmin extends BaseTestImpl {
...
@@ -31,20 +32,29 @@ public class TestDepartStudioAdmin extends BaseTestImpl {
@BeforeClass
@BeforeClass
@Override
@Override
public
void
beforeTest
()
{
public
void
beforeTest
()
{
setTestInfo
(
ApiModule
.
Polar_Admin
,
"API_departStudioAdmin"
,
LoginAccount
.
GYM_PROD
,
Terminal
.
B
,
"xym"
);
setTestInfo
(
ApiModule
.
Polar_Admin
,
"API_departStudioAdmin"
,
LoginAccount
.
GYM_PROD
2
,
Terminal
.
B
,
"xym"
);
super
.
beforeTest
();
super
.
beforeTest
();
}
}
@Test
@Test
public
void
testDepartStudioAdmin
()
{
public
void
testDepartStudioAdmin
()
{
// 获取在职员工
// 获取在职员工
String
body
=
"{\"size\":
1
0,\"current\":0,\"state\":\"DUTY\"}"
;
String
body
=
"{\"size\":
2
0,\"current\":0,\"state\":\"DUTY\"}"
;
JSONObject
adminPage
=
adminTools
.
pageStudioAdmin
(
body
);
JSONObject
adminPage
=
adminTools
.
pageStudioAdmin
(
body
);
int
total
=
Integer
.
parseInt
(
adminPage
.
getJSONObject
(
"result"
).
getString
(
"total"
));
int
total
=
Integer
.
parseInt
(
adminPage
.
getJSONObject
(
"result"
).
getString
(
"total"
));
if
(
total
>
1
){
if
(
total
>
1
){
String
adminId
=
adminPage
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
1
).
getString
(
"id"
);
int
pages
=
Integer
.
parseInt
(
adminPage
.
getJSONObject
(
"result"
).
getString
(
"pages"
));
String
phone
=
adminPage
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
1
).
getString
(
"phone"
);
// 随机获取一页
String
name
=
adminPage
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
1
).
getString
(
"name"
);
Random
rand
=
new
Random
();
int
pageIndex
=
rand
.
nextInt
(
pages
);
// 随机获取一页的随机员工
Random
random
=
new
Random
();
int
index
=
pageIndex
+
1
==
pages
?
random
.
nextInt
(
total
%
20
-
1
)+
1
:
random
.
nextInt
(
19
)+
1
;
body
=
"{\"size\":20,\"current\":"
+
pageIndex
+
",\"state\":\"DUTY\"}"
;
adminPage
=
adminTools
.
pageStudioAdmin
(
body
);
String
adminId
=
adminPage
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
index
).
getString
(
"id"
);
String
phone
=
adminPage
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
index
).
getString
(
"phone"
);
String
name
=
adminPage
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
index
).
getString
(
"name"
);
body
=
"{\"id\":\""
+
adminId
+
"\"}"
;
body
=
"{\"id\":\""
+
adminId
+
"\"}"
;
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
,
headers
).
assetsSuccess
(
true
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
,
headers
).
assetsSuccess
(
true
);
try
{
try
{
...
@@ -58,7 +68,7 @@ public class TestDepartStudioAdmin extends BaseTestImpl {
...
@@ -58,7 +68,7 @@ public class TestDepartStudioAdmin extends BaseTestImpl {
total
=
Integer
.
parseInt
(
adminPage
.
getJSONObject
(
"result"
).
getString
(
"total"
));
total
=
Integer
.
parseInt
(
adminPage
.
getJSONObject
(
"result"
).
getString
(
"total"
));
Assert
.
assertEquals
(
total
,
1
,
"员工离职失败,用手机号查询离职员工未返回数据"
);
Assert
.
assertEquals
(
total
,
1
,
"员工离职失败,用手机号查询离职员工未返回数据"
);
try
{
try
{
Thread
.
sleep
(
1000
);
Thread
.
sleep
(
1
2
000
);
}
catch
(
InterruptedException
e
)
{
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
throw
new
RuntimeException
(
e
);
}
}
...
...
src/main/java/com/xiaomai/cases/polar/admin/TestEditStudioAdmin.java
View file @
32e518d7
...
@@ -8,12 +8,14 @@ import com.xiaomai.enums.ApiModule;
...
@@ -8,12 +8,14 @@ import com.xiaomai.enums.ApiModule;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
com.xiaomai.enums.Terminal
;
import
com.xiaomai.utils.RandomStringUtil
;
import
com.xiaomai.utils.TimeUtils
;
import
com.xiaomai.utils.TimeUtils
;
import
org.testng.Assert
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeClass
;
import
org.testng.annotations.BeforeClass
;
import
org.testng.annotations.Test
;
import
org.testng.annotations.Test
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.util.Random
;
/**
/**
* @BelongsProject: xm-sportstest
* @BelongsProject: xm-sportstest
...
@@ -31,7 +33,7 @@ public class TestEditStudioAdmin extends BaseTestImpl {
...
@@ -31,7 +33,7 @@ public class TestEditStudioAdmin extends BaseTestImpl {
@BeforeClass
@BeforeClass
@Override
@Override
public
void
beforeTest
()
{
public
void
beforeTest
()
{
setTestInfo
(
ApiModule
.
Polar_Admin
,
"API_editStudioAdmin"
,
LoginAccount
.
GYM_PROD
,
Terminal
.
B
,
"xym"
);
setTestInfo
(
ApiModule
.
Polar_Admin
,
"API_editStudioAdmin"
,
LoginAccount
.
GYM_PROD
2
,
Terminal
.
B
,
"xym"
);
super
.
beforeTest
();
super
.
beforeTest
();
}
}
...
@@ -41,9 +43,18 @@ public class TestEditStudioAdmin extends BaseTestImpl {
...
@@ -41,9 +43,18 @@ public class TestEditStudioAdmin extends BaseTestImpl {
JSONObject
adminPage
=
adminTools
.
pageStudioAdmin
(
body
);
JSONObject
adminPage
=
adminTools
.
pageStudioAdmin
(
body
);
int
total
=
Integer
.
parseInt
(
adminPage
.
getJSONObject
(
"result"
).
getString
(
"total"
));
int
total
=
Integer
.
parseInt
(
adminPage
.
getJSONObject
(
"result"
).
getString
(
"total"
));
if
(
total
>
1
){
if
(
total
>
1
){
String
adminId
=
adminPage
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
1
).
getString
(
"id"
);
int
pages
=
Integer
.
parseInt
(
adminPage
.
getJSONObject
(
"result"
).
getString
(
"pages"
));
String
name
=
adminPage
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
1
).
getString
(
"name"
);
// 随机获取一页
String
phone
=
adminPage
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
1
).
getString
(
"phone"
);
Random
rand
=
new
Random
();
int
pageIndex
=
rand
.
nextInt
(
pages
);
// 随机获取一页的随机员工
Random
random
=
new
Random
();
int
index
=
pageIndex
+
1
==
pages
?
random
.
nextInt
(
total
%
20
-
1
)+
1
:
random
.
nextInt
(
19
)+
1
;
body
=
"{\"size\":20,\"current\":"
+
pageIndex
+
",\"state\":\"DUTY\"}"
;
adminPage
=
adminTools
.
pageStudioAdmin
(
body
);
String
adminId
=
adminPage
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
index
).
getString
(
"id"
);
String
phone
=
adminPage
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
index
).
getString
(
"phone"
);
// 修改的请求参数
// 修改的请求参数
JSONObject
requestBody
=
new
JSONObject
();
JSONObject
requestBody
=
new
JSONObject
();
...
@@ -64,10 +75,11 @@ public class TestEditStudioAdmin extends BaseTestImpl {
...
@@ -64,10 +75,11 @@ public class TestEditStudioAdmin extends BaseTestImpl {
String
memo
=
"修改员工备注信息"
;
// 备注
String
memo
=
"修改员工备注信息"
;
// 备注
requestBody
.
put
(
"memo"
,
memo
);
requestBody
.
put
(
"memo"
,
memo
);
String
editName
=
name
+
"修改"
;
String
name
=
RandomStringUtil
.
random_name
();
String
editName
=
name
+
TimeUtils
.
getCurrentTime
();
requestBody
.
put
(
"name"
,
editName
);
requestBody
.
put
(
"name"
,
editName
);
String
editNickName
=
name
+
"修改"
;
String
editNickName
=
name
+
TimeUtils
.
getCurrentTime
()
;
requestBody
.
put
(
"nickName"
,
editNickName
);
// 昵称
requestBody
.
put
(
"nickName"
,
editNickName
);
// 昵称
JSONObject
avatar
=
new
JSONObject
();
// 头像
JSONObject
avatar
=
new
JSONObject
();
// 头像
...
@@ -111,7 +123,7 @@ public class TestEditStudioAdmin extends BaseTestImpl {
...
@@ -111,7 +123,7 @@ public class TestEditStudioAdmin extends BaseTestImpl {
System
.
out
.
println
(
adminInfo
.
getJSONObject
(
"result"
).
getString
(
resultString
[
i
]));
System
.
out
.
println
(
adminInfo
.
getJSONObject
(
"result"
).
getString
(
resultString
[
i
]));
}
}
try
{
try
{
Thread
.
sleep
(
1000
);
Thread
.
sleep
(
1
5
000
);
}
catch
(
InterruptedException
e
)
{
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
throw
new
RuntimeException
(
e
);
}
}
...
...
src/main/java/com/xiaomai/cases/polar/admin/TestFindStudioBossInBrand.java
0 → 100644
View file @
32e518d7
package
com
.
xiaomai
.
cases
.
polar
.
admin
;
import
com.alibaba.fastjson.JSONArray
;
import
com.xiaomai.basetest.BaseTestImpl
;
import
com.xiaomai.client.DataUserInfo
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.Terminal
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeClass
;
import
org.testng.annotations.Test
;
import
javax.annotation.Resource
;
/**
* @BelongsProject: xm-sportstest
* @BelongsPackage: com.xiaomai.cases.polar.admin
* @Author: xuyamei
* @CreateTime: 2024-07-01 10:44
* @Description: 检查手机号是品牌下场馆的主账号
* @Version: 1.0
*/
public
class
TestFindStudioBossInBrand
extends
BaseTestImpl
{
@Resource
(
name
=
"adminTools"
)
AdminTools
adminTools
;
@BeforeClass
public
void
beforeTest
()
{
setTestInfo
(
ApiModule
.
Polar_Admin
,
"API_findStudioBossInBrand"
,
LoginAccount
.
GYM_PROD
,
Terminal
.
B
,
"xym"
);
super
.
beforeTest
();
}
@Test
(
description
=
"手机号是品牌下的非主账号"
)
public
void
testFindStudioBossInBrand
()
{
JSONArray
result
=
adminTools
.
findStudioBossInBrand
();
Assert
.
assertTrue
(
result
.
size
()==
0
,
"手机号非主账号但是返回任职的场馆"
);
}
@Test
(
description
=
"手机号是品牌下的主账号"
,
priority
=
1
)
public
void
testFindStudioBossInBrand2
()
{
DataUserInfo
info
=
new
DataUserInfo
();
info
.
setLoginUser
(
LoginAccount
.
GYM_PROD2
);
info
.
setTerminal
(
Terminal
.
B
);
JSONArray
result
=
adminTools
.
findStudioBossInBrand
(
info
);
Assert
.
assertTrue
(
result
.
size
()>
0
,
"手机号是主账号但是未返回任职的场馆"
);
}
}
src/main/java/com/xiaomai/cases/polar/admin/TestReinStateStudioAdmin.java
View file @
32e518d7
...
@@ -12,6 +12,7 @@ import org.testng.annotations.BeforeClass;
...
@@ -12,6 +12,7 @@ import org.testng.annotations.BeforeClass;
import
org.testng.annotations.Test
;
import
org.testng.annotations.Test
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.util.Random
;
/**
/**
* @BelongsProject: xm-sportstest
* @BelongsProject: xm-sportstest
...
@@ -29,7 +30,7 @@ public class TestReinStateStudioAdmin extends BaseTestImpl {
...
@@ -29,7 +30,7 @@ public class TestReinStateStudioAdmin extends BaseTestImpl {
@BeforeClass
@BeforeClass
@Override
@Override
public
void
beforeTest
()
{
public
void
beforeTest
()
{
setTestInfo
(
ApiModule
.
Polar_Admin
,
"API_reinStateStudioAdmin"
,
LoginAccount
.
GYM_PROD
,
Terminal
.
B
,
"xym"
);
setTestInfo
(
ApiModule
.
Polar_Admin
,
"API_reinStateStudioAdmin"
,
LoginAccount
.
GYM_PROD
2
,
Terminal
.
B
,
"xym"
);
super
.
beforeTest
();
super
.
beforeTest
();
}
}
...
@@ -40,9 +41,19 @@ public class TestReinStateStudioAdmin extends BaseTestImpl {
...
@@ -40,9 +41,19 @@ public class TestReinStateStudioAdmin extends BaseTestImpl {
JSONObject
adminPage
=
adminTools
.
pageStudioAdmin
(
body
);
JSONObject
adminPage
=
adminTools
.
pageStudioAdmin
(
body
);
int
total
=
Integer
.
parseInt
(
adminPage
.
getJSONObject
(
"result"
).
getString
(
"total"
));
int
total
=
Integer
.
parseInt
(
adminPage
.
getJSONObject
(
"result"
).
getString
(
"total"
));
if
(
total
>
1
){
if
(
total
>
1
){
String
adminId
=
adminPage
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
1
).
getString
(
"id"
);
int
pages
=
Integer
.
parseInt
(
adminPage
.
getJSONObject
(
"result"
).
getString
(
"pages"
));
String
phone
=
adminPage
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
1
).
getString
(
"phone"
);
// 随机获取一页
String
name
=
adminPage
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
1
).
getString
(
"name"
);
Random
rand
=
new
Random
();
int
pageIndex
=
rand
.
nextInt
(
pages
);
// 随机获取一页的随机员工
Random
random
=
new
Random
();
int
index
=
pageIndex
+
1
==
pages
?
random
.
nextInt
(
total
%
20
-
1
)+
1
:
random
.
nextInt
(
19
)+
1
;
body
=
"{\"size\":20,\"current\":"
+
pageIndex
+
",\"state\":\"LEFT\"}"
;
adminPage
=
adminTools
.
pageStudioAdmin
(
body
);
String
adminId
=
adminPage
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
index
).
getString
(
"id"
);
String
phone
=
adminPage
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
index
).
getString
(
"phone"
);
String
name
=
adminPage
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
index
).
getString
(
"name"
);
body
=
"{\"id\":\""
+
adminId
+
"\"}"
;
body
=
"{\"id\":\""
+
adminId
+
"\"}"
;
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
,
headers
).
assetsSuccess
(
true
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
,
headers
).
assetsSuccess
(
true
);
try
{
try
{
...
@@ -57,7 +68,7 @@ public class TestReinStateStudioAdmin extends BaseTestImpl {
...
@@ -57,7 +68,7 @@ public class TestReinStateStudioAdmin extends BaseTestImpl {
Assert
.
assertEquals
(
total
,
1
,
"员工离职失败,用手机号查询离职员工未返回数据"
);
Assert
.
assertEquals
(
total
,
1
,
"员工离职失败,用手机号查询离职员工未返回数据"
);
try
{
try
{
Thread
.
sleep
(
1000
);
Thread
.
sleep
(
1
2
000
);
}
catch
(
InterruptedException
e
)
{
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
throw
new
RuntimeException
(
e
);
}
}
...
...
src/main/java/com/xiaomai/cases/polar/applet/AppletTools.java
0 → 100644
View file @
32e518d7
package
com
.
xiaomai
.
cases
.
polar
.
applet
;
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
java.util.Random
;
/**
* @Author zxy
* @Description
* @Date 2024/7/1 16:15
*/
public
class
AppletTools
extends
BaseTestImpl
{
//查询小程序租户授权信息
public
JSONObject
getAuthDetail
(
DataUserInfo
...
userInfos
){
dataApi
.
setApiModule
(
ApiModule
.
Polar_Applet
)
.
setApiName
(
"API_getAuthDetail"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
userInfos
);
JSONObject
object
=
new
JSONObject
();
Random
random
=
new
Random
();
object
.
put
(
"tenantId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
object
.
put
(
"tenantType"
,
"STUDIO"
);
object
.
put
(
"withExtInfo"
,
random
.
nextBoolean
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
object
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
();
}
//获取小程序页面配置
public
JSONObject
getPageConfig
(
String
pageKey
,
DataUserInfo
...
userInfos
){
dataApi
.
setApiModule
(
ApiModule
.
Polar_Applet
)
.
setApiName
(
"API_getPageConfig"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
userInfos
);
JSONObject
object
=
new
JSONObject
();
object
.
put
(
"tenantId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
object
.
put
(
"tenantType"
,
"STUDIO"
);
object
.
put
(
"pageKey"
,
pageKey
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
object
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
();
}
//获取小程序全局配置
public
JSONObject
getStyleConfig
(
DataUserInfo
...
userInfos
){
dataApi
.
setApiModule
(
ApiModule
.
Polar_Applet
)
.
setApiName
(
"API_getStyleConfig"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
userInfos
);
JSONObject
object
=
new
JSONObject
();
object
.
put
(
"tenantId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
object
.
put
(
"tenantType"
,
"BRAND"
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
object
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
();
}
}
src/main/java/com/xiaomai/cases/polar/applet/TestCheckXcxCashierStatus.java
0 → 100644
View file @
32e518d7
package
com
.
xiaomai
.
cases
.
polar
.
applet
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
com.xiaomai.utils.XMBaseTest
;
import
com.xiaomai.utils.XMJSONPath
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
import
java.util.Random
;
/**
* @Author zxy
* @Description
* @Date 2024/7/1 15:49
*/
public
class
TestCheckXcxCashierStatus
extends
XMBaseTest
{
AppletTools
appletTools
=
new
AppletTools
();
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Applet
)
.
setApiName
(
"API_checkXcxCashierStatus"
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"zyx"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Test
(
description
=
"获取场馆小程序小麦收银开通状态"
)
public
void
testCheckXcxCashierStatus
(){
String
appId
=
appletTools
.
getAuthDetail
().
getJSONObject
(
"result"
).
getString
(
"appId"
);
JSONObject
object
=
new
JSONObject
();
object
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
object
.
put
(
"appId"
,
appId
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
object
.
toString
(),
headers
).
assetsSuccess
(
true
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
xmAppApi
.
getBodyInJSON
(),
"$.result.status"
),
"NOOPEN"
);
}
}
src/main/java/com/xiaomai/cases/polar/applet/TestChooseUseXcx.java
0 → 100644
View file @
32e518d7
package
com
.
xiaomai
.
cases
.
polar
.
applet
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
com.xiaomai.utils.XMBaseTest
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
/**
* @Author zxy
* @Description
* @Date 2024/7/1 15:59
*/
public
class
TestChooseUseXcx
extends
XMBaseTest
{
AppletTools
appletTools
=
new
AppletTools
();
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Applet
)
.
setApiName
(
"API_chooseUseXcx"
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"zyx"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Test
(
description
=
"选择要使用的小程序"
)
public
void
testChooseUseXcx
(){
String
appId
=
appletTools
.
getAuthDetail
().
getJSONObject
(
"result"
).
getString
(
"appId"
);
JSONObject
object
=
new
JSONObject
();
object
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
if
(
appId
.
equals
(
"wx8f7b6ffc0c1f2c96"
)){
object
.
put
(
"exclusiveXcx"
,
true
);
}
else
{
object
.
put
(
"exclusiveXcx"
,
false
);
}
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
object
.
toString
(),
headers
).
assetsSuccess
(
true
);
}
}
src/main/java/com/xiaomai/cases/polar/applet/TestGetAuthDetail.java
0 → 100644
View file @
32e518d7
package
com
.
xiaomai
.
cases
.
polar
.
applet
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
com.xiaomai.utils.XMBaseTest
;
import
com.xiaomai.utils.XMJSONPath
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
import
java.util.Random
;
/**
* @Author zxy
* @Description
* @Date 2024/7/1 15:34
*/
public
class
TestGetAuthDetail
extends
XMBaseTest
{
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Applet
)
.
setApiName
(
"API_getAuthDetail"
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"zyx"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Test
(
description
=
"查询小程序租户授权信息"
)
public
void
testGetAuthDetail
(){
Random
random
=
new
Random
();
JSONObject
object
=
new
JSONObject
();
object
.
put
(
"tenantId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
object
.
put
(
"tenantType"
,
"STUDIO"
);
object
.
put
(
"withExtInfo"
,
random
.
nextBoolean
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
object
.
toString
(),
headers
).
assetsSuccess
(
true
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
xmAppApi
.
getBodyInJSON
(),
"$.result.status"
),
"DONE"
);
}
}
src/main/java/com/xiaomai/cases/polar/applet/TestGetExcXcxStatus.java
0 → 100644
View file @
32e518d7
package
com
.
xiaomai
.
cases
.
polar
.
applet
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
com.xiaomai.utils.XMBaseTest
;
import
com.xiaomai.utils.XMJSONPath
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
/**
* @Author zxy
* @Description
* @Date 2024/7/1 15:54
*/
public
class
TestGetExcXcxStatus
extends
XMBaseTest
{
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Applet
)
.
setApiName
(
"API_getExcXcxStatus"
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"zyx"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Test
(
description
=
"获取专属小程序状态"
)
public
void
testGetExcXcxStatus
(){
JSONObject
object
=
new
JSONObject
();
object
.
put
(
"tenantId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
object
.
put
(
"tenantType"
,
"STUDIO"
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
object
.
toString
(),
headers
).
assetsSuccess
(
true
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
xmAppApi
.
getBodyInJSON
(),
"$.result"
),
"DONE"
);
}
}
src/main/java/com/xiaomai/cases/polar/applet/TestGetStyleConfig.java
0 → 100644
View file @
32e518d7
package
com
.
xiaomai
.
cases
.
polar
.
applet
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.Terminal
;
import
com.xiaomai.utils.XMBaseTest
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
/**
* @Author zxy
* @Description
* @Date 2024/7/1 16:46
*/
public
class
TestGetStyleConfig
extends
XMBaseTest
{
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Applet
)
.
setApiName
(
"API_getStyleConfig"
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"zyx"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Test
(
description
=
"获取小程序全局配置"
)
public
void
testGetStyleConfig
(){
}
}
src/main/java/com/xiaomai/cases/polar/applet/TestGetXcxIndexQrCode.java
0 → 100644
View file @
32e518d7
package
com
.
xiaomai
.
cases
.
polar
.
applet
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
com.xiaomai.utils.XMBaseTest
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
/**
* @Author zxy
* @Description
* @Date 2024/7/1 15:46
*/
public
class
TestGetXcxIndexQrCode
extends
XMBaseTest
{
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Applet
)
.
setApiName
(
"API_getXcxIndexQrCode"
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"zyx"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Test
(
description
=
"获取首页小程序码"
)
public
void
testGetXcxIndexQrCode
(){
JSONObject
object
=
new
JSONObject
();
object
.
put
(
"tenantId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
object
.
put
(
"tenantType"
,
"STUDIO"
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
object
.
toString
(),
headers
).
assetsSuccess
(
true
);
}
}
src/main/java/com/xiaomai/cases/polar/applet/TestSetPageConfig.java
0 → 100644
View file @
32e518d7
package
com
.
xiaomai
.
cases
.
polar
.
applet
;
import
com.alibaba.fastjson.JSONObject
;
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
com.xiaomai.utils.XMBaseTest
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
/**
* @Author zxy
* @Description
* @Date 2024/7/1 16:43
*/
public
class
TestSetPageConfig
extends
XMBaseTest
{
AppletTools
appletTools
=
new
AppletTools
();
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Applet
)
.
setApiName
(
"API_setPageConfig"
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"zyx"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Test
(
description
=
"修改小程序页面配置-首页"
)
public
void
testSetStyleConfig
(){
String
shareText
=
"自动化脚本首页分享"
+
RandomStringUtil
.
randomString
(
5
);
String
body
=
"{\"tenantId\":\"1800375402938871809\",\"tenantType\":\"STUDIO\",\"config\":{\"shareSetting\":{\"shareText\":\""
+
shareText
+
"\",\"shareUrl\":\"\",\"selected\":\"DEFAULT\"},\"moduleConfigList\":[{\"moduleEnum\":\"CAROUSEL\",\"config\":{\"swipers\":[{\"imgUrl\":\"https://fit-resource-pub.xiaomai5.com/fitness/1796482011391729666/BRAND/applet/20240701162813/ntWh63SyKHm4mMsC.jpeg\",\"skipLink\":{\"id\":\"1796482250721169409\",\"type\":\"COACH\"}},{\"imgUrl\":\"https://fit-resource-pub.xiaomai5.com/fitness/1796482011391729666/BRAND/applet/20240701162842/3xkNQtYKH7C6kXnZ.jpeg\"}],\"height\":152}},{\"entries\":[{\"code\":\"STUDIO_INTRO\",\"title\":\"场馆介绍\"},{\"code\":\"BRAND_STORY\",\"title\":\"品牌故事\"},{\"code\":\"COACH_TEAM\",\"title\":\"教练团队\"},{\"code\":\"BOOK_LESSON\",\"title\":\"预约课程\"},{\"code\":\"MEMBER_CARD\",\"title\":\"会员卡\"},{\"code\":\"EXPERIENCE_CARD\",\"icon\":\"\",\"title\":\"体验卡\"}],\"moduleEnum\":\"GRAPHIC_NAVIGATION\",\"config\":{\"entries\":[{\"code\":\"STUDIO_INTRO\",\"title\":\"场馆介绍\"},{\"code\":\"BRAND_STORY\",\"title\":\"品牌故事\"},{\"code\":\"COACH_TEAM\",\"title\":\"教练团队\"},{\"code\":\"BOOK_LESSON\",\"title\":\"预约课程\"},{\"code\":\"MEMBER_CARD\",\"title\":\"会员卡\"},{\"code\":\"EXPERIENCE_CARD\",\"icon\":\"\",\"title\":\"体验卡\"}],\"lineNum\":4}},{\"moduleEnum\":\"STUDIO_INTRO\",\"config\":{\"layout\":\"BIG\"}},{\"moduleEnum\":\"BRAND_STORY\",\"config\":{\"title\":\"品牌故事\"}},{\"moduleEnum\":\"COACH_TEAM\",\"config\":{\"layout\":\"SCROLL\",\"limitNum\":4,\"dataType\":\"DEFAULT\",\"ids\":[],\"coachInfo\":{\"proficients\":true,\"teachingStyles\":true,\"intro\":true,\"skillCertifications\":true},\"title\":\"教练团队\"}},{\"moduleEnum\":\"RECOMMEND_GROUP_LESSON\",\"config\":{\"layout\":\"SCROLL\",\"limitNum\":4,\"dataType\":\"DEFAULT\",\"title\":\"推荐团课\"}},{\"moduleEnum\":\"MEMBER_CARD\",\"config\":{\"layout\":\"SCROLL\",\"limitNum\":4,\"dataType\":\"DEFAULT\",\"title\":\"会员卡\"}},{\"moduleEnum\":\"RECOMMENT_PRIVATE_LESSON\",\"config\":{\"layout\":\"SCROLL\",\"limitNum\":4,\"dataType\":\"DEFAULT\",\"ids\":[],\"title\":\"推荐私教课\"}},{\"moduleEnum\":\"TRAINING_CAMP\",\"config\":{\"layout\":\"SCROLL\",\"limitNum\":4,\"dataType\":\"DEFAULT\",\"ids\":[],\"title\":\"推荐训练营\"}},{\"moduleEnum\":\"EXPERIENCE_CARD\",\"config\":{\"layout\":\"SCROLL\",\"limitNum\":4,\"dataType\":\"DEFAULT\",\"ids\":[],\"title\":\"体验卡\"}}],\"bgSetting\":{\"swipers\":[],\"bgColor\":\"\",\"selected\":\"DEFAULT\",\"bgUrl\":\"https://image.xiaomaiketang.com/xm/internal/TRcJHBMjyj.png\",\"height\":200},\"promotion\":[]},\"pageKey\":\"HOME\"}"
;
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
,
headers
).
assetsSuccess
(
true
);
Assert
.
assertEquals
(
appletTools
.
getPageConfig
(
"HOME"
).
getJSONObject
(
"result"
).
getJSONObject
(
"shareSetting"
).
getString
(
"shareText"
),
shareText
);
}
@Test
(
description
=
"修改小程序页面配置-约课"
)
public
void
testSetStyleConfig_1
(){
String
shareText
=
"自动化脚本约课页面分享"
+
RandomStringUtil
.
randomString
(
5
);
String
body
=
"{\"tenantId\":\"1800375402938871809\",\"tenantType\":\"STUDIO\",\"config\":{\"shareSetting\":{\"shareText\":\""
+
shareText
+
"\",\"shareUrl\":\"\",\"selected\":\"DEFAULT\"},\"listStyle\":\"TEACHER\",\"bgSetting\":{\"selected\":\"DEFAULT\",\"bgUrl\":\"https://image.xiaomaiketang.com/xm/internal/TRcJHBMjyj.png\"},\"bookType\":[{\"code\":\"GROUP_LESSON\",\"visible\":true,\"title\":\"团课\"},{\"code\":\"PRIVATE_LESSON\",\"visible\":true,\"title\":\"私教\"},{\"code\":\"BOOTCAMP\",\"visible\":true,\"title\":\"训练营\"}]},\"pageKey\":\"CLASS\"}"
;
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
,
headers
).
assetsSuccess
(
true
);
Assert
.
assertEquals
(
appletTools
.
getPageConfig
(
"CLASS"
).
getJSONObject
(
"result"
).
getJSONObject
(
"shareSetting"
).
getString
(
"shareText"
),
shareText
);
}
@Test
(
description
=
"修改小程序页面配置-我的"
)
public
void
testSetStyleConfig_2
(){
String
shareText
=
"自动化脚本我的页面分享"
+
RandomStringUtil
.
randomString
(
5
);
String
body
=
"{\"tenantId\":\"1800375402938871809\",\"tenantType\":\"STUDIO\",\"config\":{\"shareSetting\":{\"shareText\":\""
+
shareText
+
"\",\"shareUrl\":\"\"},\"memberAssets\":[{\"code\":\"MEMBER_CARD\",\"visible\":true,\"title\":\"会员卡\"},{\"code\":\"EXPERIENCE_CARD\",\"visible\":true,\"title\":\"体验卡\"},{\"code\":\"TRAINING_CAMP\",\"visible\":true,\"title\":\"训练营\"}],\"bgSetting\":{\"selected\":\"DEFAULT\",\"bgUrl\":\"https://image.xiaomaiketang.com/xm/internal/TRcJHBMjyj.png\"},\"commonlyEntry\":[{\"code\":\"MY_ORDER\",\"visible\":true,\"title\":\"我的订单\"},{\"code\":\"MY_BOOKING\",\"visible\":true,\"title\":\"我的预约\"},{\"code\":\"SCAN_CODE_SIGNIN\",\"visible\":true,\"title\":\"扫码签到\"}]},\"pageKey\":\"MINE\"}"
;
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
,
headers
).
assetsSuccess
(
true
);
Assert
.
assertEquals
(
appletTools
.
getPageConfig
(
"MINE"
).
getJSONObject
(
"result"
).
getJSONObject
(
"shareSetting"
).
getString
(
"shareText"
),
shareText
);
}
}
src/main/java/com/xiaomai/cases/polar/applet/TestSetStyleConfig.java
0 → 100644
View file @
32e518d7
package
com
.
xiaomai
.
cases
.
polar
.
applet
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
com.xiaomai.utils.XMBaseTest
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
import
java.util.Random
;
/**
* @Author zxy
* @Description
* @Date 2024/7/1 16:25
*/
public
class
TestSetStyleConfig
extends
XMBaseTest
{
AppletTools
appletTools
=
new
AppletTools
();
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Applet
)
.
setApiName
(
"API_setStyleConfig"
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"zyx"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Test
(
description
=
"修改小程序全局配置"
)
public
void
testSetStyleConfig
(){
Random
random
=
new
Random
();
String
[]
themeColor
=
{
"132, 111, 234"
,
"40, 115, 255"
,
"51, 202, 105"
};
//紫、蓝、绿
String
body
=
"{\"tenantId\":\"1796482011391729666\",\"tenantType\":\"BRAND\",\"config\":{\"loadingImage\":\"https://image.xiaomaiketang.com/xm/internal/bYk7k24Dwy.gif\",\"loginType\":\"DEFAULT\",\"defaultStyle\":{\"GRAPHIC_NAVIGATION\":{\"STUDIO_INTRO\":\"https://image.xiaomaiketang.com/xm/internal/5rHR854HrG.png\",\"BRAND_STORY\":\"https://image.xiaomaiketang.com/xm/internal/MP86aN8bGr.png\",\"COACH_TEAM\":\"https://image.xiaomaiketang.com/xm/internal/RRd4JjKFAa.png\",\"BOOK_LESSON\":\"https://image.xiaomaiketang.com/xm/internal/P7aNhwMX2m.png\",\"MEMBER_CARD\":\"https://image.xiaomaiketang.com/xm/internal/jp78pZnSt5.png\",\"EXPERIENCE_CARD\":\"https://image.xiaomaiketang.com/xm/internal/NFrcRw6iE2.png\"},\"TABS\":{\"SEL\":{\"HOME\":\"icon-a-xiaochengxushouye\",\"CLASS\":\"icon-a-xiaochengxuyuyue\",\"MINE\":\"icon-a-xiaochengxuwode\"},\"UN_SEL\":{\"HOME\":\"icon-a-xiaochengxushouye\",\"CLASS\":\"icon-a-xiaochengxuyuyue\",\"MINE\":\"icon-a-xiaochengxuwode\"}},\"bgUrl\":\"https://image.xiaomaiketang.com/xm/internal/TRcJHBMjyj.png\"},\"themeColor\":\""
+
themeColor
[
random
.
nextInt
(
3
)]+
"\",\"loadLoading\":false,\"tabs\":[{\"code\":\"HOME\",\"visible\":true,\"iconUnselected\":\"icon-a-xiaochengxushouye\",\"iconSelected\":\"icon-a-xiaochengxushouye\",\"title\":\"首页\"},{\"code\":\"CLASS\",\"visible\":true,\"iconUnselected\":\"icon-a-xiaochengxuyuyue\",\"iconSelected\":\"icon-a-xiaochengxuyuyue\",\"title\":\"预约\"},{\"code\":\"MINE\",\"visible\":true,\"iconUnselected\":\"icon-a-xiaochengxuwode\",\"iconSelected\":\"icon-a-xiaochengxuwode\",\"title\":\"我的\"}],\"emptyImage\":\"https://image.xiaomaiketang.com/xm/internal/SxaKWnkEyK.png\",\"themeStyle\":\"LIGHT\",\"themeKey\":\"EXERCISE\",\"colors\":{\"primaryColor\":\"#15171F\",\"secondaryColor\":\"#434656\",\"thirdColor\":\"#73778C\",\"tipsColor\":\"#AFB1BC\",\"cardBgColor\":\"#FFFFFF\",\"specialColor\":\"#C9CDD4\",\"bgColor\":\"#F5F7FA\",\"borderColor\":\"#EEF0F7\",\"rgbCardBgColor\":\"255,255,255\"},\"emptyLoading\":false},\"theme\":\"EXERCISE\"}"
;
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
,
headers
).
assetsSuccess
(
true
);
String
str
=
appletTools
.
getStyleConfig
().
getJSONObject
(
"result"
).
getString
(
"themeColor"
);
Assert
.
assertEquals
(
true
,
str
.
equals
(
"132, 111, 234"
)
||
str
.
equals
(
"40, 115, 255"
)||
str
.
equals
(
"51, 202, 105"
));
}
}
src/main/java/com/xiaomai/cases/polar/clue/MemberTools.java
View file @
32e518d7
This diff is collapsed.
Click to expand it.
src/main/java/com/xiaomai/cases/polar/clue/TestBatchUpdateSaleRule.java
0 → 100644
View file @
32e518d7
package
com
.
xiaomai
.
cases
.
polar
.
clue
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
com.xiaomai.utils.XMBaseTest
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
/**
* @Author zxy
* @Description
* @Date 2024/6/30 16:31
*/
public
class
TestBatchUpdateSaleRule
extends
XMBaseTest
{
MemberTools
memberTools
=
new
MemberTools
();
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Clue
)
.
setApiName
(
"API_batchUpdateSaleRule"
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"zyx"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Test
(
description
=
"更新销售规则-关闭公有池开关"
)
public
void
testBatchUpdateSaleRule
(){
JSONObject
configs
=
new
JSONObject
();
configs
.
put
(
"CRM_OPEN_PUBLIC_RESOURCE_POOL"
,
false
);
configs
.
put
(
"CRM_SALE_RELEASE_CLUE_DESTINATION"
,
"ALL_CLUE"
);
configs
.
put
(
"CRM_SYS_RELEASE_CLUE_DESTINATION"
,
"ALL_CLUE"
);
JSONObject
object
=
new
JSONObject
();
object
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
object
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
object
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
object
.
put
(
"configs"
,
configs
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
object
.
toString
(),
headers
).
assetsSuccess
(
true
);
Assert
.
assertEquals
(
memberTools
.
fetchCrmContext
().
getJSONObject
(
"result"
).
getString
(
"openPublicResource"
),
"false"
);
}
@Test
(
description
=
"更新销售规则-开启公有池开关"
)
public
void
testBatchUpdateSaleRule_1
(){
JSONObject
configs
=
new
JSONObject
();
configs
.
put
(
"CRM_OPEN_PUBLIC_RESOURCE_POOL"
,
true
);
configs
.
put
(
"CRM_SALE_RELEASE_CLUE_DESTINATION"
,
"ALL_CLUE"
);
configs
.
put
(
"CRM_SYS_RELEASE_CLUE_DESTINATION"
,
"PUBLIC_RESOURCE"
);
JSONObject
object
=
new
JSONObject
();
object
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
object
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
object
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
object
.
put
(
"configs"
,
configs
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
object
.
toString
(),
headers
).
assetsSuccess
(
true
);
Assert
.
assertEquals
(
memberTools
.
fetchCrmContext
().
getJSONObject
(
"result"
).
getString
(
"openPublicResource"
),
"true"
);
}
}
src/main/java/com/xiaomai/cases/polar/clue/TestCancelFeedback.java
0 → 100644
View file @
32e518d7
package
com
.
xiaomai
.
cases
.
polar
.
clue
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
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
com.xiaomai.utils.XMBaseTest
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
/**
* @Author zxy
* @Description
* @Date 2024/7/1 10:02
*/
public
class
TestCancelFeedback
extends
XMBaseTest
{
MemberTools
memberTools
=
new
MemberTools
();
String
memberId
;
String
feedbackId
;
String
feedbackId1
;
int
num
;
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Clue
)
.
setApiName
(
"API_cancelFeedback"
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"zyx"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Test
(
description
=
"取消跟进"
)
public
void
testModifyFeedback
(){
String
name
=
"自动化潜在会员"
+
RandomStringUtil
.
randomString
(
3
);
String
phone
=
RandomStringUtil
.
randomMobile
(
"666"
);
//若全部线索有数据,则取第一条数据;若无数据则新建一个线索
JSONArray
array
=
memberTools
.
searchMember
(
"全部线索"
,
"POTENTIAL"
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
);
int
size
=
array
.
size
();
if
(
size
==
0
){
memberId
=
memberTools
.
create
(
name
,
phone
).
getString
(
"result"
);
}
else
{
memberId
=
array
.
getJSONObject
(
0
).
getString
(
"id"
);
}
//查询该线索的跟进,若存在待跟进/已逾期的跟进任务,则取列表第一条数据;不存在待跟进/已逾期的跟进任务,则新建一条待跟进的跟进任务
JSONArray
jsonArray
=
memberTools
.
listTodoTask
(
memberId
).
getJSONArray
(
"result"
);
num
=
jsonArray
.
size
();
if
(
num
==
0
)
{
feedbackId1
=
memberTools
.
createFeedback
(
memberId
).
getString
(
"result"
);
feedbackId
=
memberTools
.
listTodoTask
(
memberId
).
getJSONArray
(
"result"
).
getJSONObject
(
0
).
getString
(
"id"
);
}
else
{
feedbackId
=
jsonArray
.
getJSONObject
(
0
).
getString
(
"id"
);
}
//取消跟进
JSONObject
object
=
new
JSONObject
();
object
.
put
(
"feedbackId"
,
feedbackId
);
object
.
put
(
"reason"
,
"自动化测试取消跟进原因"
);
object
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
object
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
object
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
object
.
toString
(),
headers
).
assetsSuccess
(
true
);
Assert
.
assertEquals
(
memberTools
.
findDetailById
(
feedbackId
).
getJSONObject
(
"result"
).
getString
(
"state"
),
"CANCEL"
);
}
@Test
(
description
=
"删除跟进"
,
priority
=
1
)
public
void
del
()
{
memberTools
.
deleteFeedback
(
feedbackId
);
if
(
feedbackId1
!=
null
)
{
memberTools
.
deleteFeedback
(
feedbackId1
);
}
}
}
src/main/java/com/xiaomai/cases/polar/clue/TestClaim.java
0 → 100644
View file @
32e518d7
package
com
.
xiaomai
.
cases
.
polar
.
clue
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
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
com.xiaomai.utils.XMBaseTest
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @Author zxy
* @Description
* @Date 2024/6/30 11:53
*/
public
class
TestClaim
extends
XMBaseTest
{
MemberTools
memberTools
=
new
MemberTools
();
String
memberId
;
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Clue
)
.
setApiName
(
"API_claim"
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"zyx"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Test
(
description
=
"认领线索"
)
public
void
testClaim
(){
String
name
=
"自动化潜在会员"
+
RandomStringUtil
.
randomString
(
3
);
String
phone
=
RandomStringUtil
.
randomMobile
(
"666"
);
//查看公有池列表是否有数据,有数据则取第一条数据
JSONArray
array
=
memberTools
.
searchMember
(
"公有池"
,
"POTENTIAL"
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
);
//查看全部线索是否有数据,有数据则取第一条数据
JSONArray
array1
=
memberTools
.
searchMember
(
"全部线索"
,
"POTENTIAL"
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
);
int
size
=
array
.
size
();
int
size1
=
array1
.
size
();
if
(
size
!=
0
){
memberId
=
array
.
getJSONObject
(
0
).
getString
(
"id"
);
//查看公有池列表是否有数据,有数据则取第一条数据
}
else
if
(
size
==
0
&&
size1
!=
0
){
memberId
=
array1
.
getJSONObject
(
0
).
getString
(
"id"
);
//公有池无数据,全部线索有数据,则从全部线索取第一条数据
//分配线索至公有池(只有公有池的线索才可以认领)
memberTools
.
distributeToPublic
(
memberId
);
}
else
{
memberId
=
memberTools
.
create
(
name
,
phone
).
getString
(
"result"
);
//公有池和全部线索都无数据,则新建一个线索
//分配线索至公有池(只有公有池的线索才可以认领)
memberTools
.
distributeToPublic
(
memberId
);
}
List
memberIds
=
new
ArrayList
();
memberIds
.
add
(
memberId
);
try
{
Thread
.
sleep
(
3000
);
}
catch
(
InterruptedException
e
)
{
e
.
printStackTrace
();
}
//认领线索
JSONObject
object
=
new
JSONObject
();
object
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
object
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
object
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
object
.
put
(
"memberIds"
,
memberIds
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
object
.
toString
(),
headers
).
assetsSuccess
(
true
);
JSONObject
res
=
memberTools
.
findStudioMemberDetail
(
memberId
).
getJSONObject
(
"result"
);
Assert
.
assertEquals
(
res
.
getString
(
"saleId"
),
xmAppApi
.
getLoginInfo
().
getAdminId
());
Assert
.
assertEquals
(
res
.
getString
(
"position"
),
"PRIVATE_RESOURCE"
);
//线索位置:私有池
}
}
src/main/java/com/xiaomai/cases/polar/clue/TestCommonSearch.java
View file @
32e518d7
...
@@ -9,6 +9,9 @@ import com.xiaomai.utils.XMBaseTest;
...
@@ -9,6 +9,9 @@ import com.xiaomai.utils.XMBaseTest;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
import
org.testng.annotations.Test
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
/**
* @Author zxy
* @Author zxy
* @Description
* @Description
...
@@ -20,7 +23,7 @@ public class TestCommonSearch extends XMBaseTest {
...
@@ -20,7 +23,7 @@ public class TestCommonSearch extends XMBaseTest {
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Clue
)
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Clue
)
.
setApiName
(
"API_commonSearch"
)
.
setApiName
(
"API_commonSearch"
)
.
setLoginUser
(
LoginAccount
.
ZYX_DEV
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"zyx"
)
dal
.
setCase_owner
(
"zyx"
)
...
@@ -31,11 +34,21 @@ public class TestCommonSearch extends XMBaseTest {
...
@@ -31,11 +34,21 @@ public class TestCommonSearch extends XMBaseTest {
@Test
(
description
=
"搜索"
)
@Test
(
description
=
"搜索"
)
public
void
testCommonSearch
(){
public
void
testCommonSearch
(){
List
statusList
=
new
ArrayList
();
statusList
.
add
(
"NORMAL"
);
statusList
.
add
(
"HISTORY"
);
statusList
.
add
(
"POTENTIAL"
);
JSONObject
object
=
new
JSONObject
();
JSONObject
object
=
new
JSONObject
();
object
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
object
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
object
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
object
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
object
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
object
.
put
(
"dataPermissionFilter"
,
false
);
object
.
put
(
"content"
,
"666"
);
object
.
put
(
"content"
,
"666"
);
object
.
put
(
"statusList"
,
statusList
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
object
.
toString
(),
headers
).
assetsSuccess
(
true
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
object
.
toString
(),
headers
).
assetsSuccess
(
true
);
//校验放在了创建线索case中
}
}
}
}
src/main/java/com/xiaomai/cases/polar/clue/TestContinueFeedback.java
0 → 100644
View file @
32e518d7
package
com
.
xiaomai
.
cases
.
polar
.
clue
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
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
com.xiaomai.utils.XMBaseTest
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
import
java.util.Random
;
/**
* @Author zxy
* @Description
* @Date 2024/7/1 10:09
*/
public
class
TestContinueFeedback
extends
XMBaseTest
{
MemberTools
memberTools
=
new
MemberTools
();
String
memberId
;
String
feedbackId
;
String
feedbackId1
;
int
num
;
int
len
;
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Clue
)
.
setApiName
(
"API_continueFeedback"
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"zyx"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Test
(
description
=
"继续跟进"
)
public
void
testModifyFeedback
(){
String
name
=
"自动化潜在会员"
+
RandomStringUtil
.
randomString
(
3
);
String
phone
=
RandomStringUtil
.
randomMobile
(
"666"
);
//若全部线索有数据,则取第一条数据;若无数据则新建一个线索
JSONArray
array
=
memberTools
.
searchMember
(
"全部线索"
,
"POTENTIAL"
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
);
int
size
=
array
.
size
();
if
(
size
==
0
){
memberId
=
memberTools
.
create
(
name
,
phone
).
getString
(
"result"
);
}
else
{
memberId
=
array
.
getJSONObject
(
0
).
getString
(
"id"
);
}
//查询该线索的跟进,若存在待跟进/已逾期的跟进任务,则取列表第一条数据;不存在待跟进/已逾期的跟进任务,则新建一条待跟进的跟进任务
JSONArray
jsonArray
=
memberTools
.
listTodoTask
(
memberId
).
getJSONArray
(
"result"
);
num
=
jsonArray
.
size
();
if
(
num
==
0
)
{
feedbackId1
=
memberTools
.
createFeedback
(
memberId
).
getString
(
"result"
);
feedbackId
=
memberTools
.
listTodoTask
(
memberId
).
getJSONArray
(
"result"
).
getJSONObject
(
0
).
getString
(
"id"
);
}
else
{
feedbackId
=
jsonArray
.
getJSONObject
(
0
).
getString
(
"id"
);
}
//该线索的状态为已完成的跟进任务数
len
=
memberTools
.
searchFeedback
(
memberId
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
size
();
Random
random
=
new
Random
();
String
[]
feedbackMethod
=
{
"PHONE"
,
"WECHAT"
,
"SMS"
,
"VISIT"
,
"OTHERS"
};
String
[]
feedbackResult
=
{
"CONTACTED"
,
"INTENTION_CONFIRMED"
,
"APPOINTED"
,
"EXPERIENCED"
,
"REGISTERED"
,
"REGISTERED"
,
"RENEW_FOLLOW"
};
//继续跟进
JSONObject
object
=
new
JSONObject
();
object
.
put
(
"feedbackId"
,
feedbackId
);
object
.
put
(
"feedbackContent"
,
"自动化测试继续跟进,只生成一条已完成的跟进"
);
object
.
put
(
"memberId"
,
memberId
);
object
.
put
(
"feedbackMethod"
,
feedbackMethod
[
random
.
nextInt
(
5
)]);
object
.
put
(
"feedbackResult"
,
feedbackResult
[
random
.
nextInt
(
7
)]);
object
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
object
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
object
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
object
.
toString
(),
headers
).
assetsSuccess
(
true
);
try
{
Thread
.
sleep
(
1000
);
}
catch
(
InterruptedException
e
)
{
}
JSONArray
json
=
memberTools
.
searchFeedback
(
memberId
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
);
int
len1
=
json
.
size
();
Assert
.
assertEquals
(
len1
,
len
+
1
);
}
@Test
(
description
=
"删除跟进"
,
priority
=
1
)
public
void
del
()
{
memberTools
.
deleteFeedback
(
feedbackId
);
if
(
feedbackId1
!=
null
)
{
memberTools
.
deleteFeedback
(
feedbackId1
);
}
}
}
src/main/java/com/xiaomai/cases/polar/clue/TestCountWechatSubscriber.java
0 → 100644
View file @
32e518d7
package
com
.
xiaomai
.
cases
.
polar
.
clue
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
com.xiaomai.utils.XMBaseTest
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
/**
* @Author zxy
* @Description
* @Date 2024/6/28 16:37
*/
public
class
TestCountWechatSubscriber
extends
XMBaseTest
{
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Clue
)
.
setApiName
(
"API_countWechatSubscriber"
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"zyx"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Test
(
description
=
"品牌下绑定服务号的会员数量"
)
public
void
testCountWechatSubscriber
(){
JSONObject
object
=
new
JSONObject
();
object
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
object
.
toString
(),
headers
).
assetsSuccess
(
true
);
}
}
src/main/java/com/xiaomai/cases/polar/clue/TestCreate.java
View file @
32e518d7
package
com
.
xiaomai
.
cases
.
polar
.
clue
;
package
com
.
xiaomai
.
cases
.
polar
.
clue
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.client.DataUserInfo
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.RequestType
;
...
@@ -12,6 +14,8 @@ import org.testng.Assert;
...
@@ -12,6 +14,8 @@ import org.testng.Assert;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
import
org.testng.annotations.Test
;
import
java.util.Random
;
/**
/**
* @Author zxy
* @Author zxy
* @Description
* @Description
...
@@ -25,7 +29,7 @@ public class TestCreate extends XMBaseTest {
...
@@ -25,7 +29,7 @@ public class TestCreate extends XMBaseTest {
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Clue
)
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Clue
)
.
setApiName
(
"API_create"
)
.
setApiName
(
"API_create"
)
.
setLoginUser
(
LoginAccount
.
ZYX_DEV
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"zyx"
)
dal
.
setCase_owner
(
"zyx"
)
...
@@ -35,12 +39,32 @@ public class TestCreate extends XMBaseTest {
...
@@ -35,12 +39,32 @@ public class TestCreate extends XMBaseTest {
@Test
(
description
=
"新增潜在会员"
)
@Test
(
description
=
"新增潜在会员"
)
public
void
testCreate
(){
public
void
testCreate
(){
DataUserInfo
dataUserInfo
=
new
DataUserInfo
();
dataUserInfo
.
setTerminal
(
Terminal
.
B
);
dataUserInfo
.
setLoginUser
(
LoginAccount
.
GYM_PROD2
);
//全部线索快捷筛选
JSONObject
res
=
memberTools
.
fetchQuickSearch
().
getJSONObject
(
"result"
);
int
addToday
=
Integer
.
parseInt
(
res
.
getString
(
"addToday"
));
int
addThisWeek
=
Integer
.
parseInt
(
res
.
getString
(
"addThisWeek"
));
int
addThisMonth
=
Integer
.
parseInt
(
res
.
getString
(
"addThisMonth"
));
//我的线索快捷筛选
JSONObject
response
=
memberTools
.
fetchMyQuickSearch
().
getJSONObject
(
"result"
);
int
addToday_my
=
Integer
.
parseInt
(
response
.
getString
(
"addToday"
));
int
addThisWeek_my
=
Integer
.
parseInt
(
response
.
getString
(
"addThisWeek"
));
int
addThisMonth_my
=
Integer
.
parseInt
(
response
.
getString
(
"addThisMonth"
));
Random
random
=
new
Random
();
String
name
=
"自动化潜在会员"
+
RandomStringUtil
.
randomString
(
3
);
String
name
=
"自动化潜在会员"
+
RandomStringUtil
.
randomString
(
3
);
String
phone
=
RandomStringUtil
.
randomMobile
(
"666"
);
String
phone
=
RandomStringUtil
.
randomMobile
(
"666"
);
String
[]
idCardType
=
{
"IDENTITY"
,
"SAR_PERMIT"
,
"idCardType"
};
//身份证、港澳通行证、护照
String
[]
intention
=
{
"HIGH"
,
"MIDDLE"
,
"LOW"
};
//意向度:高、中、低
String
code
=
memberTools
.
findByObjectId
().
getJSONObject
(
random
.
nextInt
(
13
)).
getString
(
"code"
);
//线索来源列表
//新建潜在会员时需先校验当前场馆及同品牌下的其他场馆是否存在相同手机号的线索
//新建潜在会员时需先校验当前场馆及同品牌下的其他场馆是否存在相同手机号的线索
Boolean
duplicate
=
memberTools
.
checkPhoneDuplicate
(
phone
,
""
).
getJSONObject
(
"result"
).
getBoolean
(
"duplicate"
);
Boolean
duplicate
=
memberTools
.
checkPhoneDuplicate
(
phone
,
""
).
getJSONObject
(
"result"
).
getBoolean
(
"duplicate"
);
if
(
duplicate
==
false
)
{
if
(
duplicate
==
false
){
JSONObject
object
=
new
JSONObject
();
JSONObject
object
=
new
JSONObject
();
object
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
object
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
object
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
object
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
...
@@ -50,6 +74,23 @@ public class TestCreate extends XMBaseTest {
...
@@ -50,6 +74,23 @@ public class TestCreate extends XMBaseTest {
object
.
put
(
"name"
,
name
);
object
.
put
(
"name"
,
name
);
object
.
put
(
"phone"
,
phone
);
object
.
put
(
"phone"
,
phone
);
object
.
put
(
"gender"
,
"UNKNOWN"
);
object
.
put
(
"gender"
,
"UNKNOWN"
);
object
.
put
(
"wechat"
,
"12345678"
);
object
.
put
(
"birthday"
,
"1277654400000"
);
object
.
put
(
"idCardType"
,
idCardType
[
random
.
nextInt
(
3
)]);
object
.
put
(
"idCardCode"
,
RandomStringUtil
.
randomNumber
(
18
,
"410526"
));
object
.
put
(
"height"
,
"180"
);
object
.
put
(
"weight"
,
"66"
);
object
.
put
(
"trainTarget"
,
"减脂"
);
object
.
put
(
"profession"
,
"无"
);
object
.
put
(
"incomeLevel"
,
"66666/月"
);
object
.
put
(
"address"
,
"同人广场a座小麦助教"
);
object
.
put
(
"emergencyContactPerson"
,
"紧急联系人名字"
);
object
.
put
(
"emergencyContactPhone"
,
"15896688889"
);
object
.
put
(
"resourceId"
,
code
);
object
.
put
(
"intention"
,
intention
[
random
.
nextInt
(
3
)]);
object
.
put
(
"position"
,
"PRIVATE_RESOURCE"
);
object
.
put
(
"remark"
,
"这是备注"
);
object
.
put
(
"saleId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
object
.
toString
(),
headers
).
assetsSuccess
(
true
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
object
.
toString
(),
headers
).
assetsSuccess
(
true
);
String
memberId
=
xmAppApi
.
getBodyInJSON
().
getString
(
"result"
);
String
memberId
=
xmAppApi
.
getBodyInJSON
().
getString
(
"result"
);
...
@@ -60,14 +101,36 @@ public class TestCreate extends XMBaseTest {
...
@@ -60,14 +101,36 @@ public class TestCreate extends XMBaseTest {
}
catch
(
InterruptedException
e
)
{
}
catch
(
InterruptedException
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
}
}
Assert
.
assertEquals
(
memberTools
.
searchMember
().
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getString
(
"phone"
),
phone
);
//校验潜在会员列表第一条数据是否是本次新增的数据
Assert
.
assertEquals
(
memberTools
.
searchMember
(
"全部线索"
,
"POTENTIAL"
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getString
(
"phone"
),
phone
);
//根据手机号全局搜索检验
Assert
.
assertEquals
(
memberTools
.
commonSearch
(
phone
).
getJSONArray
(
"result"
).
getJSONObject
(
0
).
getString
(
"id"
),
memberId
);
Assert
.
assertEquals
(
memberTools
.
commonSearch
(
phone
).
getJSONArray
(
"result"
).
getJSONObject
(
0
).
getString
(
"id"
),
memberId
);
//校验今日新增、本周新增、本月新增的会员数是否加1
JSONObject
res1
=
memberTools
.
fetchQuickSearch
().
getJSONObject
(
"result"
);
int
addToday1
=
Integer
.
parseInt
(
res1
.
getString
(
"addToday"
));
int
addThisWeek1
=
Integer
.
parseInt
(
res1
.
getString
(
"addThisWeek"
));
int
addThisMonth1
=
Integer
.
parseInt
(
res1
.
getString
(
"addThisMonth"
));
Assert
.
assertEquals
(
addToday1
,
addToday
+
1
);
//快捷筛选今日新增+1
Assert
.
assertEquals
(
addThisWeek1
,
addThisWeek
+
1
);
//快捷筛选本周新增+1
// Assert.assertEquals(addThisMonth1,addThisMonth+1);//快捷筛选本月新增+1
//校验我的线索今日新增、本周新增、本月新增的会员数是否加1
JSONObject
response1
=
memberTools
.
fetchMyQuickSearch
().
getJSONObject
(
"result"
);
int
addToday_my1
=
Integer
.
parseInt
(
response1
.
getString
(
"addToday"
));
int
addThisWeek_my1
=
Integer
.
parseInt
(
response1
.
getString
(
"addThisWeek"
));
int
addThisMonth_my1
=
Integer
.
parseInt
(
response1
.
getString
(
"addThisMonth"
));
Assert
.
assertEquals
(
addToday_my1
,
addToday_my
+
1
);
//我的快捷筛选今日新增+1
Assert
.
assertEquals
(
addThisWeek_my1
,
addThisWeek_my
+
1
);
//我的快捷筛选本周新增+1
// Assert.assertEquals(addThisMonth_my1,addThisMonth_my+1);//我的快捷筛选本月新增+1
//在另一个场馆添加该会员,并在添加后校验是否添加成功
memberTools
.
join
(
memberId
,
dataUserInfo
);
Assert
.
assertEquals
(
memberTools
.
getDetailById
(
memberId
,
dataUserInfo
).
getJSONObject
(
"result"
).
getString
(
"phone"
),
phone
);
}
}
}
}
@Test
(
description
=
"新增潜在会员-手机号为空"
)
@Test
(
description
=
"新增潜在会员-手机号为空"
)
public
void
testCreate_1
(){
public
void
testCreate_1
(){
String
name
=
"自动化潜在会员"
+
RandomStringUtil
.
randomString
(
3
);
String
name
=
"自动化潜在会员"
+
RandomStringUtil
.
randomString
(
3
);
...
@@ -83,7 +146,8 @@ public class TestCreate extends XMBaseTest {
...
@@ -83,7 +146,8 @@ public class TestCreate extends XMBaseTest {
object
.
put
(
"gender"
,
"UNKNOWN"
);
object
.
put
(
"gender"
,
"UNKNOWN"
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
object
.
toString
(),
headers
).
assetsSuccess
(
false
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
object
.
toString
(),
headers
).
assetsSuccess
(
false
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
xmAppApi
.
getBodyInJSON
(),
"$.message"
),
"会员手机号格式有误;会员手机号不能为空"
);
String
str
=
XMJSONPath
.
readPath
(
xmAppApi
.
getBodyInJSON
(),
"$.message"
);
Assert
.
assertEquals
(
true
,
str
.
equals
(
"会员手机号格式有误;会员手机号不能为空"
)
||
str
.
equals
(
"会员手机号不能为空;会员手机号格式有误"
));
}
}
}
}
src/main/java/com/xiaomai/cases/polar/clue/TestCreateFeedback.java
0 → 100644
View file @
32e518d7
package
com
.
xiaomai
.
cases
.
polar
.
clue
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
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
com.xiaomai.utils.TimeUtils
;
import
com.xiaomai.utils.XMBaseTest
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
import
java.util.Random
;
/**
* @Author zxy
* @Description
* @Date 2024/6/30 17:05
*/
public
class
TestCreateFeedback
extends
XMBaseTest
{
MemberTools
memberTools
=
new
MemberTools
();
String
memberId
;
String
feedbackId
;
String
feedbackId1
;
int
num
;
int
num_todo
;
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Clue
)
.
setApiName
(
"API_createFeedback"
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"zyx"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Test
(
description
=
"添加跟进记录"
)
public
void
testCreateFeedback
(){
String
name
=
"自动化潜在会员"
+
RandomStringUtil
.
randomString
(
3
);
String
phone
=
RandomStringUtil
.
randomMobile
(
"666"
);
//若全部线索有数据,则取第一条数据;若无数据则新建一个线索
JSONArray
array
=
memberTools
.
searchMember
(
"全部线索"
,
"POTENTIAL"
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
);
int
size
=
array
.
size
();
if
(
size
==
0
){
memberId
=
memberTools
.
create
(
name
,
phone
).
getString
(
"result"
);
}
else
{
memberId
=
array
.
getJSONObject
(
0
).
getString
(
"id"
);
}
//查询该线索的跟进
num
=
memberTools
.
searchFeedback
(
memberId
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
size
();
num_todo
=
memberTools
.
listTodoTask
(
memberId
).
getJSONArray
(
"result"
).
size
();
Random
random
=
new
Random
();
String
[]
feedbackMethod
=
{
"PHONE"
,
"WECHAT"
,
"SMS"
,
"VISIT"
,
"OTHERS"
};
String
[]
feedbackResult
=
{
"CONTACTED"
,
"INTENTION_CONFIRMED"
,
"APPOINTED"
,
"EXPERIENCED"
,
"REGISTERED"
,
"REGISTERED"
,
"RENEW_FOLLOW"
};
JSONObject
object
=
new
JSONObject
();
object
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
object
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
object
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
object
.
put
(
"feedbackContent"
,
"自动化测试添加跟进记录"
);
object
.
put
(
"feedbackMethod"
,
feedbackMethod
[
random
.
nextInt
(
5
)]);
object
.
put
(
"feedbackResult"
,
feedbackResult
[
random
.
nextInt
(
7
)]);
object
.
put
(
"memberId"
,
memberId
);
object
.
put
(
"nextFeedbackRemark"
,
"自动化测试下次跟进内容"
);
object
.
put
(
"nextFeedbackTime"
,
TimeUtils
.
getTodayEndTime
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
object
.
toString
(),
headers
).
assetsSuccess
(
true
);
feedbackId
=
xmAppApi
.
getBodyInJSON
().
getString
(
"result"
);
try
{
Thread
.
sleep
(
1000
);
}
catch
(
InterruptedException
e
)
{
}
JSONArray
jsonArray
=
memberTools
.
listTodoTask
(
memberId
).
getJSONArray
(
"result"
);
feedbackId1
=
jsonArray
.
getJSONObject
(
0
).
getString
(
"id"
);
int
num_todo1
=
jsonArray
.
size
();
int
num1
=
memberTools
.
searchFeedback
(
memberId
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
size
();
Assert
.
assertEquals
(
num1
,
num
+
1
);
Assert
.
assertEquals
(
num_todo1
,
num_todo
+
1
);
Assert
.
assertEquals
(
memberTools
.
summaryFeedback
().
getJSONObject
(
"result"
).
getString
(
"todayWaitFeedback"
),
"1"
);
}
@Test
(
description
=
"删除跟进"
,
priority
=
1
)
public
void
del
(){
memberTools
.
deleteFeedback
(
feedbackId
);
memberTools
.
deleteFeedback
(
feedbackId1
);
try
{
Thread
.
sleep
(
1000
);
}
catch
(
InterruptedException
e
)
{
}
int
num2
=
memberTools
.
searchFeedback
(
memberId
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
size
();
int
num_todo2
=
memberTools
.
listTodoTask
(
memberId
).
getJSONArray
(
"result"
).
size
();
Assert
.
assertEquals
(
num2
,
num
);
Assert
.
assertEquals
(
num_todo2
,
num_todo
);
}
}
src/main/java/com/xiaomai/cases/polar/clue/TestDisable.java
0 → 100644
View file @
32e518d7
package
com
.
xiaomai
.
cases
.
polar
.
clue
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
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
com.xiaomai.utils.XMBaseTest
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @Author zxy
* @Description
* @Date 2024/6/30 14:33
*/
public
class
TestDisable
extends
XMBaseTest
{
MemberTools
memberTools
=
new
MemberTools
();
String
id
;
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Clue
)
.
setApiName
(
"API_disable"
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"zyx"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Test
(
description
=
"线索移至回收站"
)
public
void
testDisable
(){
String
name
=
"自动化潜在会员"
+
RandomStringUtil
.
randomString
(
3
);
String
phone
=
RandomStringUtil
.
randomMobile
(
"666"
);
//若全部线索有数据,则取第一条数据;若无数据则新建一个线索
JSONArray
array
=
memberTools
.
searchMember
(
"全部线索"
,
"POTENTIAL"
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
);
int
size
=
array
.
size
();
if
(
size
==
0
){
id
=
memberTools
.
create
(
name
,
phone
).
getString
(
"result"
);
}
else
{
id
=
array
.
getJSONObject
(
0
).
getString
(
"id"
);
}
List
memberIds
=
new
ArrayList
();
memberIds
.
add
(
id
);
JSONObject
object
=
new
JSONObject
();
object
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
object
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
object
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
object
.
put
(
"memberIds"
,
memberIds
);
object
.
put
(
"reason"
,
"自动化脚本移至回收站"
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
object
.
toString
(),
headers
).
assetsSuccess
(
true
);
JSONObject
res
=
memberTools
.
findStudioMemberDetail
(
id
).
getJSONObject
(
"result"
);
Assert
.
assertEquals
(
res
.
getString
(
"saleId"
),
"-1"
);
Assert
.
assertEquals
(
res
.
getString
(
"position"
),
"RECYCLE"
);
//线索位置:回收站
}
}
src/main/java/com/xiaomai/cases/polar/clue/TestDistributeToPrivate.java
0 → 100644
View file @
32e518d7
package
com
.
xiaomai
.
cases
.
polar
.
clue
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
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
com.xiaomai.utils.XMBaseTest
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @Author zxy
* @Description
* @Date 2024/6/30 10:17
*/
public
class
TestDistributeToPrivate
extends
XMBaseTest
{
MemberTools
memberTools
=
new
MemberTools
();
String
id
;
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Clue
)
.
setApiName
(
"API_distributeToPrivate"
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"zyx"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Test
(
description
=
"分配线索到私有池"
)
public
void
testDistributeToPrivate
(){
String
name
=
"自动化潜在会员"
+
RandomStringUtil
.
randomString
(
3
);
String
phone
=
RandomStringUtil
.
randomMobile
(
"666"
);
//若全部线索有数据,则取第一条数据;若无数据则新建一个线索
JSONArray
array
=
memberTools
.
searchMember
(
"全部线索"
,
"POTENTIAL"
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
);
int
size
=
array
.
size
();
if
(
size
==
0
){
id
=
memberTools
.
create
(
name
,
phone
).
getString
(
"result"
);
}
else
{
id
=
array
.
getJSONObject
(
0
).
getString
(
"id"
);
}
List
memberIds
=
new
ArrayList
();
memberIds
.
add
(
id
);
JSONObject
object
=
new
JSONObject
();
object
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
object
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
object
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
object
.
put
(
"saleId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
object
.
put
(
"memberIds"
,
memberIds
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
object
.
toString
(),
headers
).
assetsSuccess
(
true
);
JSONObject
res
=
memberTools
.
findStudioMemberDetail
(
id
).
getJSONObject
(
"result"
);
Assert
.
assertEquals
(
res
.
getString
(
"saleId"
),
xmAppApi
.
getLoginInfo
().
getAdminId
());
Assert
.
assertEquals
(
res
.
getString
(
"position"
),
"PRIVATE_RESOURCE"
);
//线索位置:私有池
}
}
src/main/java/com/xiaomai/cases/polar/clue/TestDistributeToPublic.java
0 → 100644
View file @
32e518d7
package
com
.
xiaomai
.
cases
.
polar
.
clue
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
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
com.xiaomai.utils.XMBaseTest
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @Author zxy
* @Description
* @Date 2024/6/30 11:00
*/
public
class
TestDistributeToPublic
extends
XMBaseTest
{
MemberTools
memberTools
=
new
MemberTools
();
String
id
;
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Clue
)
.
setApiName
(
"API_distributeToPublic"
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"zyx"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Test
(
description
=
"分配线索到私有池"
)
public
void
testDistributeToPrivate
(){
String
name
=
"自动化潜在会员"
+
RandomStringUtil
.
randomString
(
3
);
String
phone
=
RandomStringUtil
.
randomMobile
(
"666"
);
//若全部线索有数据,则取第一条数据;若无数据则新建一个线索
JSONArray
array
=
memberTools
.
searchMember
(
"全部线索"
,
"POTENTIAL"
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
);
int
size
=
array
.
size
();
if
(
size
==
0
){
id
=
memberTools
.
create
(
name
,
phone
).
getString
(
"result"
);
}
else
{
id
=
array
.
getJSONObject
(
0
).
getString
(
"id"
);
}
List
memberIds
=
new
ArrayList
();
memberIds
.
add
(
id
);
JSONObject
object
=
new
JSONObject
();
object
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
object
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
object
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
object
.
put
(
"memberIds"
,
memberIds
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
object
.
toString
(),
headers
).
assetsSuccess
(
true
);
JSONObject
res
=
memberTools
.
findStudioMemberDetail
(
id
).
getJSONObject
(
"result"
);
Assert
.
assertEquals
(
res
.
getString
(
"saleId"
),
"-1"
);
//无跟进销售
Assert
.
assertEquals
(
res
.
getString
(
"position"
),
"PUBLIC_RESOURCE"
);
//线索位置:公有池
}
}
src/main/java/com/xiaomai/cases/polar/clue/TestFetchMyQuickSearch.java
0 → 100644
View file @
32e518d7
package
com
.
xiaomai
.
cases
.
polar
.
clue
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
com.xiaomai.utils.XMBaseTest
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
/**
* @Author zxy
* @Description
* @Date 2024/6/30 10:00
*/
public
class
TestFetchMyQuickSearch
extends
XMBaseTest
{
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Clue
)
.
setApiName
(
"API_fetchMyQuickSearch"
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"zyx"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Test
(
description
=
"我的线索快捷查询"
)
public
void
testFetchMyQuickSearch
(){
JSONObject
object
=
new
JSONObject
();
object
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
object
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
object
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
object
.
toString
(),
headers
).
assetsSuccess
(
true
);
//校验放在了创建线索case中
}
}
src/main/java/com/xiaomai/cases/polar/clue/TestFetchQuickSearch.java
0 → 100644
View file @
32e518d7
package
com
.
xiaomai
.
cases
.
polar
.
clue
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
com.xiaomai.utils.XMBaseTest
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
/**
* @Author zxy
* @Description
* @Date 2024/6/30 09:53
*/
public
class
TestFetchQuickSearch
extends
XMBaseTest
{
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Clue
)
.
setApiName
(
"API_fetchQuickSearch"
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"zyx"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Test
(
description
=
"全部线索快捷查询"
)
public
void
testFetchQuickSearch
(){
JSONObject
object
=
new
JSONObject
();
object
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
object
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
object
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
object
.
toString
(),
headers
).
assetsSuccess
(
true
);
//校验放在了创建线索case中
}
}
src/main/java/com/xiaomai/cases/polar/clue/TestFindByObjectId.java
0 → 100644
View file @
32e518d7
package
com
.
xiaomai
.
cases
.
polar
.
clue
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
com.xiaomai.utils.XMBaseTest
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @Author zxy
* @Description
* @Date 2024/6/28 16:28
*/
public
class
TestFindByObjectId
extends
XMBaseTest
{
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Clue
)
.
setApiName
(
"API_findByObjectId"
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"zyx"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Test
(
description
=
"线索来源"
)
public
void
testFindByObjectId
(){
List
categories
=
new
ArrayList
();
categories
.
add
(
"RESOURCE"
);
JSONObject
object
=
new
JSONObject
();
object
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
object
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
object
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
object
.
put
(
"categories"
,
categories
);
object
.
put
(
"objectId"
,
"1760544120783314946"
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
object
.
toString
(),
headers
).
assetsSuccess
(
true
);
}
}
src/main/java/com/xiaomai/cases/polar/clue/TestGetDetailById.java
View file @
32e518d7
package
com
.
xiaomai
.
cases
.
polar
.
clue
;
package
com
.
xiaomai
.
cases
.
polar
.
clue
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.LoginAccount
;
...
@@ -19,13 +20,13 @@ import org.testng.annotations.Test;
...
@@ -19,13 +20,13 @@ import org.testng.annotations.Test;
*/
*/
public
class
TestGetDetailById
extends
XMBaseTest
{
public
class
TestGetDetailById
extends
XMBaseTest
{
MemberTools
memberTools
=
new
MemberTools
();
MemberTools
memberTools
=
new
MemberTools
();
String
id
;
@BeforeMethod
@BeforeMethod
public
void
beforeTest
(){
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Clue
)
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Clue
)
.
setApiName
(
"API_findDetailById"
)
.
setApiName
(
"API_findDetailById"
)
.
setLoginUser
(
LoginAccount
.
ZYX_DEV
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"zyx"
)
dal
.
setCase_owner
(
"zyx"
)
...
@@ -37,7 +38,17 @@ public class TestGetDetailById extends XMBaseTest {
...
@@ -37,7 +38,17 @@ public class TestGetDetailById extends XMBaseTest {
String
name
=
"自动化潜在会员"
+
RandomStringUtil
.
randomString
(
3
);
String
name
=
"自动化潜在会员"
+
RandomStringUtil
.
randomString
(
3
);
String
phone
=
RandomStringUtil
.
randomMobile
(
"666"
);
String
phone
=
RandomStringUtil
.
randomMobile
(
"666"
);
String
id
=
memberTools
.
create
(
name
,
phone
).
getString
(
"result"
);
//若全部线索有数据,则取第一条数据;若无数据则新建一个线索
JSONArray
array
=
memberTools
.
searchMember
(
"全部线索"
,
"POTENTIAL"
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
);
int
size
=
array
.
size
();
if
(
size
==
0
){
id
=
memberTools
.
create
(
name
,
phone
).
getString
(
"result"
);
}
else
{
id
=
array
.
getJSONObject
(
0
).
getString
(
"id"
);
}
JSONObject
object
=
new
JSONObject
();
JSONObject
object
=
new
JSONObject
();
object
.
put
(
"memberId"
,
id
);
object
.
put
(
"memberId"
,
id
);
...
@@ -45,7 +56,7 @@ public class TestGetDetailById extends XMBaseTest {
...
@@ -45,7 +56,7 @@ public class TestGetDetailById extends XMBaseTest {
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
object
.
toString
(),
headers
).
assetsSuccess
(
true
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
object
.
toString
(),
headers
).
assetsSuccess
(
true
);
JSONObject
res
=
xmAppApi
.
getBodyInJSON
();
JSONObject
res
=
xmAppApi
.
getBodyInJSON
();
Assert
.
assertEquals
(
res
.
getJSONObject
(
"result"
).
getString
(
"
phone"
),
phone
);
Assert
.
assertEquals
(
res
.
getJSONObject
(
"result"
).
getString
(
"
id"
),
id
);
}
}
...
...
src/main/java/com/xiaomai/cases/polar/clue/TestModifyFeedback.java
0 → 100644
View file @
32e518d7
package
com
.
xiaomai
.
cases
.
polar
.
clue
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
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
com.xiaomai.utils.TimeUtils
;
import
com.xiaomai.utils.XMBaseTest
;
import
com.xiaomai.utils.XMJSONPath
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
/**
* @Author zxy
* @Description
* @Date 2024/6/30 18:00
*/
public
class
TestModifyFeedback
extends
XMBaseTest
{
MemberTools
memberTools
=
new
MemberTools
();
String
memberId
;
String
feedbackId
;
String
feedbackId1
;
int
num
;
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Clue
)
.
setApiName
(
"API_modifyFeedback"
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"zyx"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Test
(
description
=
"修改跟进"
)
public
void
testModifyFeedback
(){
String
name
=
"自动化潜在会员"
+
RandomStringUtil
.
randomString
(
3
);
String
phone
=
RandomStringUtil
.
randomMobile
(
"666"
);
//若全部线索有数据,则取第一条数据;若无数据则新建一个线索
JSONArray
array
=
memberTools
.
searchMember
(
"全部线索"
,
"POTENTIAL"
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
);
int
size
=
array
.
size
();
if
(
size
==
0
){
memberId
=
memberTools
.
create
(
name
,
phone
).
getString
(
"result"
);
}
else
{
memberId
=
array
.
getJSONObject
(
0
).
getString
(
"id"
);
}
//查询该线索的跟进,若存在待跟进/已逾期的跟进任务,则取列表第一条数据;不存在待跟进/已逾期的跟进任务,则新建一条待跟进的跟进任务
JSONArray
jsonArray
=
memberTools
.
listTodoTask
(
memberId
).
getJSONArray
(
"result"
);
num
=
jsonArray
.
size
();
if
(
num
==
0
)
{
feedbackId1
=
memberTools
.
createFeedback
(
memberId
).
getString
(
"result"
);
feedbackId
=
memberTools
.
listTodoTask
(
memberId
).
getJSONArray
(
"result"
).
getJSONObject
(
0
).
getString
(
"id"
);
}
else
{
feedbackId
=
jsonArray
.
getJSONObject
(
0
).
getString
(
"id"
);
}
//修改跟进
JSONObject
object
=
new
JSONObject
();
object
.
put
(
"feedbackId"
,
feedbackId
);
object
.
put
(
"feedbackRemark"
,
"自动化测试修改下次跟进内容"
);
object
.
put
(
"feedbackTime"
,
TimeUtils
.
getTodayEndTime
());
object
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
object
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
object
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
object
.
toString
(),
headers
).
assetsSuccess
(
true
);
Assert
.
assertEquals
(
memberTools
.
findDetailById
(
feedbackId
).
getJSONObject
(
"result"
).
getString
(
"content"
),
"自动化测试修改下次跟进内容"
);
}
@Test
(
description
=
"删除跟进"
,
priority
=
1
)
public
void
del
()
{
memberTools
.
deleteFeedback
(
feedbackId
);
if
(
feedbackId1
!=
null
)
{
memberTools
.
deleteFeedback
(
feedbackId1
);
}
}
}
src/main/java/com/xiaomai/cases/polar/clue/TestRecycle.java
0 → 100644
View file @
32e518d7
package
com
.
xiaomai
.
cases
.
polar
.
clue
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
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
com.xiaomai.utils.XMBaseTest
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @Author zxy
* @Description
* @Date 2024/6/30 14:40
*/
public
class
TestRecycle
extends
XMBaseTest
{
MemberTools
memberTools
=
new
MemberTools
();
String
memberId
;
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Clue
)
.
setApiName
(
"API_recycle"
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"zyx"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Test
(
description
=
"从私海回收线索"
)
public
void
testRecycle
(){
String
name
=
"自动化潜在会员"
+
RandomStringUtil
.
randomString
(
3
);
String
phone
=
RandomStringUtil
.
randomMobile
(
"666"
);
//查看私有池列表是否有数据,有数据则取第一条数据
JSONArray
array
=
memberTools
.
searchMember
(
"我的线索"
,
"POTENTIAL"
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
);
//查看全部线索是否有数据,有数据则取第一条数据
JSONArray
array1
=
memberTools
.
searchMember
(
"全部线索"
,
"POTENTIAL"
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
);
int
size
=
array
.
size
();
int
size1
=
array1
.
size
();
if
(
size
!=
0
){
memberId
=
array
.
getJSONObject
(
0
).
getString
(
"id"
);
//查看私有池列表是否有数据,有数据则取第一条数据
}
else
if
(
size
==
0
&&
size1
!=
0
){
memberId
=
array1
.
getJSONObject
(
0
).
getString
(
"id"
);
//私有池无数据,全部线索有数据,则从全部线索取第一条数据
//分配线索至私有池(只有私有池的线索才可以回收)
memberTools
.
distributeToPrivate
(
memberId
);
}
else
{
memberId
=
memberTools
.
create
(
name
,
phone
).
getString
(
"result"
);
//私有池和全部线索都无数据,则新建一个线索
//分配线索至私有池(只有私有池的线索才可以回收)
memberTools
.
distributeToPrivate
(
memberId
);
}
List
memberIds
=
new
ArrayList
();
memberIds
.
add
(
memberId
);
try
{
Thread
.
sleep
(
2000
);
}
catch
(
InterruptedException
e
)
{
e
.
printStackTrace
();
}
JSONObject
object
=
new
JSONObject
();
object
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
object
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
object
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
object
.
put
(
"memberIds"
,
memberIds
);
object
.
put
(
"destination"
,
"INITIAL"
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
object
.
toString
(),
headers
).
assetsSuccess
(
true
);
JSONObject
res
=
memberTools
.
findStudioMemberDetail
(
memberId
).
getJSONObject
(
"result"
);
Assert
.
assertEquals
(
res
.
getString
(
"saleId"
),
"-1"
);
Assert
.
assertEquals
(
res
.
getString
(
"position"
),
"INITIAL"
);
//线索位置:待分配池
}
}
src/main/java/com/xiaomai/cases/polar/clue/TestRelease.java
0 → 100644
View file @
32e518d7
package
com
.
xiaomai
.
cases
.
polar
.
clue
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
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
com.xiaomai.utils.XMBaseTest
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @Author zxy
* @Description
* @Date 2024/6/30 14:50
*/
public
class
TestRelease
extends
XMBaseTest
{
MemberTools
memberTools
=
new
MemberTools
();
String
memberId
;
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Clue
)
.
setApiName
(
"API_release"
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"zyx"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Test
(
description
=
"销售放弃线索"
)
public
void
teseRelease
(){
String
name
=
"自动化潜在会员"
+
RandomStringUtil
.
randomString
(
3
);
String
phone
=
RandomStringUtil
.
randomMobile
(
"666"
);
//查看私有池列表是否有数据,有数据则取第一条数据
JSONArray
array
=
memberTools
.
searchMember
(
"我的线索"
,
"POTENTIAL"
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
);
//查看全部线索是否有数据,有数据则取第一条数据
JSONArray
array1
=
memberTools
.
searchMember
(
"全部线索"
,
"POTENTIAL"
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
);
int
size
=
array
.
size
();
int
size1
=
array1
.
size
();
if
(
size
!=
0
){
memberId
=
array
.
getJSONObject
(
0
).
getString
(
"id"
);
//查看私有池列表是否有数据,有数据则取第一条数据
}
else
if
(
size
==
0
&&
size1
!=
0
){
memberId
=
array1
.
getJSONObject
(
0
).
getString
(
"id"
);
//私有池无数据,全部线索有数据,则从全部线索取第一条数据
//分配线索至私有池(只有私有池的线索才可以放弃)
memberTools
.
distributeToPrivate
(
memberId
);
}
else
{
memberId
=
memberTools
.
create
(
name
,
phone
).
getString
(
"result"
);
//私有池和全部线索都无数据,则新建一个线索
//分配线索至私有池(只有私有池的线索才可以放弃)
memberTools
.
distributeToPrivate
(
memberId
);
}
List
memberIds
=
new
ArrayList
();
memberIds
.
add
(
memberId
);
try
{
Thread
.
sleep
(
2000
);
}
catch
(
InterruptedException
e
)
{
e
.
printStackTrace
();
}
JSONObject
object
=
new
JSONObject
();
object
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
object
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
object
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
object
.
put
(
"memberIds"
,
memberIds
);
object
.
put
(
"destination"
,
"INITIAL"
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
object
.
toString
(),
headers
).
assetsSuccess
(
true
);
try
{
Thread
.
sleep
(
2000
);
}
catch
(
InterruptedException
e
)
{
e
.
printStackTrace
();
}
JSONObject
res
=
memberTools
.
findStudioMemberDetail
(
memberId
).
getJSONObject
(
"result"
);
Assert
.
assertEquals
(
res
.
getString
(
"saleId"
),
"-1"
);
Assert
.
assertEquals
(
res
.
getString
(
"position"
),
"INITIAL"
);
//线索位置:待分配池
}
}
src/main/java/com/xiaomai/cases/polar/clue/TestRestore.java
0 → 100644
View file @
32e518d7
package
com
.
xiaomai
.
cases
.
polar
.
clue
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
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
com.xiaomai.utils.XMBaseTest
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @Author zxy
* @Description
* @Date 2024/6/30 16:15
*/
public
class
TestRestore
extends
XMBaseTest
{
MemberTools
memberTools
=
new
MemberTools
();
String
memberId
;
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Clue
)
.
setApiName
(
"API_restore"
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"zyx"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Test
(
description
=
"还原线索"
)
public
void
testRecycle
(){
String
name
=
"自动化潜在会员"
+
RandomStringUtil
.
randomString
(
3
);
String
phone
=
RandomStringUtil
.
randomMobile
(
"666"
);
//查看回收站列表是否有数据,有数据则取第一条数据
JSONArray
array
=
memberTools
.
searchMember
(
"回收站"
,
"POTENTIAL"
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
);
//查看全部线索是否有数据,有数据则取第一条数据
JSONArray
array1
=
memberTools
.
searchMember
(
"全部线索"
,
"POTENTIAL"
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
);
int
size
=
array
.
size
();
int
size1
=
array1
.
size
();
if
(
size
!=
0
){
memberId
=
array
.
getJSONObject
(
0
).
getString
(
"id"
);
//查看回收站列表是否有数据,有数据则取第一条数据
}
else
if
(
size
==
0
&&
size1
!=
0
){
memberId
=
array1
.
getJSONObject
(
0
).
getString
(
"id"
);
//回收站无数据,全部线索有数据,则从全部线索取第一条数据
//线索移至回收站(只有回收站的线索才可以还原)
memberTools
.
disable
(
memberId
);
}
else
{
memberId
=
memberTools
.
create
(
name
,
phone
).
getString
(
"result"
);
//回收站和全部线索都无数据,则新建一个线索
//线索移至回收站(只有回收站的线索才可以还原)
memberTools
.
disable
(
memberId
);
}
List
memberIds
=
new
ArrayList
();
memberIds
.
add
(
memberId
);
try
{
Thread
.
sleep
(
2000
);
}
catch
(
InterruptedException
e
)
{
e
.
printStackTrace
();
}
JSONObject
object
=
new
JSONObject
();
object
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
object
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
object
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
object
.
put
(
"destination"
,
"PUBLIC_RESOURCE"
);
object
.
put
(
"memberIds"
,
memberIds
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
object
.
toString
(),
headers
).
assetsSuccess
(
true
);
JSONObject
res
=
memberTools
.
findStudioMemberDetail
(
memberId
).
getJSONObject
(
"result"
);
Assert
.
assertEquals
(
res
.
getString
(
"saleId"
),
"-1"
);
Assert
.
assertEquals
(
res
.
getString
(
"position"
),
"PUBLIC_RESOURCE"
);
//线索位置:公有池
}
}
src/main/java/com/xiaomai/cases/polar/clue/TestSearchMember.java
View file @
32e518d7
...
@@ -24,7 +24,7 @@ public class TestSearchMember extends XMBaseTest {
...
@@ -24,7 +24,7 @@ public class TestSearchMember extends XMBaseTest {
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Clue
)
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Clue
)
.
setApiName
(
"API_searchMember"
)
.
setApiName
(
"API_searchMember"
)
.
setLoginUser
(
LoginAccount
.
ZYX_DEV
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"zyx"
)
dal
.
setCase_owner
(
"zyx"
)
...
@@ -44,9 +44,15 @@ public class TestSearchMember extends XMBaseTest {
...
@@ -44,9 +44,15 @@ public class TestSearchMember extends XMBaseTest {
object
.
put
(
"current"
,
0
);
object
.
put
(
"current"
,
0
);
object
.
put
(
"size"
,
20
);
object
.
put
(
"size"
,
20
);
object
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
object
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
object
.
put
(
"studioFilter"
,
studioFilter
);
object
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
object
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
object
.
put
(
"saleId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
object
.
put
(
"position"
,
"PRIVATE_RESOURCE"
);
object
.
put
(
"statusList"
,
statusList
);
object
.
put
(
"statusList"
,
statusList
);
object
.
put
(
"searchType"
,
"CLUE_PRIVATE"
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
object
.
toString
(),
headers
).
assetsSuccess
(
true
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
object
.
toString
(),
headers
).
assetsSuccess
(
true
);
//校验放在了创建线索case中
}
}
}
}
src/main/java/com/xiaomai/cases/polar/clue/TestSummaryFeedback.java
0 → 100644
View file @
32e518d7
package
com
.
xiaomai
.
cases
.
polar
.
clue
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
com.xiaomai.utils.XMBaseTest
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
/**
* @Author zxy
* @Description
* @Date 2024/7/1 10:52
*/
public
class
TestSummaryFeedback
extends
XMBaseTest
{
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Clue
)
.
setApiName
(
"API_summaryFeedback"
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"zyx"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Test
(
description
=
"统计今日待跟进&已逾期的任务数"
)
public
void
testSummaryFeedback
(){
JSONObject
object
=
new
JSONObject
();
object
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
object
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
object
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
object
.
toString
(),
headers
).
assetsSuccess
(
true
);
}
}
src/main/java/com/xiaomai/cases/polar/clue/TestUpdate.java
View file @
32e518d7
package
com
.
xiaomai
.
cases
.
polar
.
clue
;
package
com
.
xiaomai
.
cases
.
polar
.
clue
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.LoginAccount
;
...
@@ -19,12 +20,12 @@ import org.testng.annotations.Test;
...
@@ -19,12 +20,12 @@ import org.testng.annotations.Test;
*/
*/
public
class
TestUpdate
extends
XMBaseTest
{
public
class
TestUpdate
extends
XMBaseTest
{
MemberTools
memberTools
=
new
MemberTools
();
MemberTools
memberTools
=
new
MemberTools
();
String
id
;
@BeforeMethod
@BeforeMethod
public
void
beforeTest
(){
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Clue
)
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Clue
)
.
setApiName
(
"API_forceUpdate"
)
.
setApiName
(
"API_forceUpdate"
)
.
setLoginUser
(
LoginAccount
.
ZYX_DEV
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"zyx"
)
dal
.
setCase_owner
(
"zyx"
)
...
@@ -37,8 +38,15 @@ public class TestUpdate extends XMBaseTest {
...
@@ -37,8 +38,15 @@ public class TestUpdate extends XMBaseTest {
String
name
=
"自动化潜在会员"
+
RandomStringUtil
.
randomString
(
3
);
String
name
=
"自动化潜在会员"
+
RandomStringUtil
.
randomString
(
3
);
String
phone
=
RandomStringUtil
.
randomMobile
(
"666"
);
String
phone
=
RandomStringUtil
.
randomMobile
(
"666"
);
//创建潜在会员
//若全部线索有数据,则取第一条数据;若无数据则新建一个线索
String
id
=
memberTools
.
create
(
name
,
phone
).
getString
(
"result"
);
JSONArray
array
=
memberTools
.
searchMember
(
"全部线索"
,
"POTENTIAL"
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
);
int
size
=
array
.
size
();
if
(
size
==
0
){
id
=
memberTools
.
create
(
name
,
phone
).
getString
(
"result"
);
}
else
{
id
=
array
.
getJSONObject
(
0
).
getString
(
"id"
);
}
//编辑会员时需先校验当前场馆及同品牌下的其他场馆是否存在相同手机号的线索
//编辑会员时需先校验当前场馆及同品牌下的其他场馆是否存在相同手机号的线索
Boolean
duplicate
=
memberTools
.
checkPhoneDuplicate
(
phone
,
id
).
getJSONObject
(
"result"
).
getBoolean
(
"duplicate"
);
Boolean
duplicate
=
memberTools
.
checkPhoneDuplicate
(
phone
,
id
).
getJSONObject
(
"result"
).
getBoolean
(
"duplicate"
);
...
@@ -66,6 +74,7 @@ public class TestUpdate extends XMBaseTest {
...
@@ -66,6 +74,7 @@ public class TestUpdate extends XMBaseTest {
object
.
put
(
"emergencyContactPerson"
,
"紧急联系人"
+
RandomStringUtil
.
randomString
(
3
));
object
.
put
(
"emergencyContactPerson"
,
"紧急联系人"
+
RandomStringUtil
.
randomString
(
3
));
object
.
put
(
"emergencyContactPhone"
,
RandomStringUtil
.
randomMobile
(
"999"
));
object
.
put
(
"emergencyContactPhone"
,
RandomStringUtil
.
randomMobile
(
"999"
));
object
.
put
(
"resourceId"
,
"12"
);
object
.
put
(
"resourceId"
,
"12"
);
object
.
put
(
"intention"
,
"LOW"
);
object
.
put
(
"remark"
,
"这是备注这是备注这是备注这是备注这是备注这是备注这是备注这是备注这是备注这是备注"
);
object
.
put
(
"remark"
,
"这是备注这是备注这是备注这是备注这是备注这是备注这是备注这是备注这是备注这是备注"
);
object
.
put
(
"memberId"
,
id
);
object
.
put
(
"memberId"
,
id
);
...
@@ -107,7 +116,7 @@ public class TestUpdate extends XMBaseTest {
...
@@ -107,7 +116,7 @@ public class TestUpdate extends XMBaseTest {
object
.
put
(
"memberId"
,
""
);
object
.
put
(
"memberId"
,
""
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
object
.
toString
(),
headers
).
assetsSuccess
(
false
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
object
.
toString
(),
headers
).
assetsSuccess
(
false
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
xmAppApi
.
getBodyInJSON
(),
"$.message"
),
"会员id不能为空"
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
xmAppApi
.
getBodyInJSON
(),
"$.message"
),
"会员id不能为空"
);
}
}
}
}
src/main/java/com/xiaomai/cases/polar/member/TestAppointCoach.java
0 → 100644
View file @
32e518d7
package
com
.
xiaomai
.
cases
.
polar
.
member
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.cases.polar.clue.MemberTools
;
import
com.xiaomai.cases.polar.course.CourseTools
;
import
com.xiaomai.cases.polar.finance.order.OrderTools
;
import
com.xiaomai.cases.polar.memberCard.CardTools
;
import
com.xiaomai.cases.polar.setting.courseCategory.CourseCategoryTools
;
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
com.xiaomai.utils.TimeUtils
;
import
com.xiaomai.utils.XMBaseTest
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
import
javax.annotation.Resource
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @Author zxy
* @Description
* @Date 2024/6/28 17:13
*/
public
class
TestAppointCoach
extends
XMBaseTest
{
Tools
tools
=
new
Tools
();
MemberTools
memberTools
=
new
MemberTools
();
String
memberId
;
String
courseId
;
CardTools
cardTools
=
new
CardTools
();
OrderTools
orderTools
=
new
OrderTools
();
@Resource
(
name
=
"courseCategoryTools"
)
CourseCategoryTools
courseCategoryTools
;
@Resource
(
name
=
"courseTools"
)
CourseTools
courseTools
;
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Clue
)
.
setApiName
(
"API_appointCoach"
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"zyx"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Test
(
description
=
"会员指派跟进教练"
)
public
void
testAppointCoach
(){
String
name
=
"自动化潜在会员"
+
RandomStringUtil
.
randomString
(
3
);
String
phone
=
RandomStringUtil
.
randomMobile
(
"666"
);
String
categoryId
=
courseCategoryTools
.
getCourseCategoryPage
(
"瑜伽"
);
courseId
=
courseTools
.
getPersonalOrGroupCourseId
(
"GROUP"
,
"空中瑜伽团课课程"
,
categoryId
,
"STUDIO"
,
""
,
2
,
1
).
getString
(
0
);
//查看是否有存量的正式和流失会员,若有则取存量数据,没有则查看是否有存量的潜在会员,若有则给潜在会员购卡变为正式会员,没有存量的则新建潜在会员后再购卡变为正式会员
JSONArray
array
=
tools
.
search
(
"NORMAL"
,
"NORMAL"
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
);
//查看是否有存量的流失会员
JSONArray
array1
=
tools
.
search
(
"HISTORY"
,
"HISTORY"
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
);
int
size
=
array
.
size
();
int
size1
=
array1
.
size
();
if
(
size
!=
0
){
memberId
=
array
.
getJSONObject
(
0
).
getString
(
"id"
);
}
else
if
(
size
==
0
&&
size1
!=
0
){
memberId
=
array1
.
getJSONObject
(
0
).
getString
(
"id"
);
}
else
{
memberId
=
memberTools
.
create
(
name
,
phone
).
getString
(
"result"
);
JSONArray
listUserReservableBenefit
=
cardTools
.
listUserReservableBenefit
(
courseId
,
"GROUP_CLASS"
,
"MEMBER"
,
memberId
,
TimeUtils
.
getTodayTime
());
if
(
listUserReservableBenefit
.
size
()
==
0
)
{
// 购买适用的会员卡
signOrder
(
courseId
,
memberId
);
try
{
Thread
.
sleep
(
2000
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
listUserReservableBenefit
=
cardTools
.
listUserReservableBenefit
(
courseId
,
"GROUP_CLASS"
,
"MEMBER"
,
memberId
,
TimeUtils
.
getTodayTime
());
}
}
List
memberIds
=
new
ArrayList
();
memberIds
.
add
(
memberId
);
List
memberStatusList
=
new
ArrayList
();
String
coachId
=
memberTools
.
fetchStaff
(
"AS_COACH"
,
memberStatusList
,
""
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getString
(
"id"
);
JSONObject
object
=
new
JSONObject
();
object
.
put
(
"memberIds"
,
memberIds
);
object
.
put
(
"coachId"
,
coachId
);
object
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
object
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
object
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
object
.
toString
(),
headers
).
assetsSuccess
(
true
);
Assert
.
assertEquals
(
memberTools
.
findStudioMemberDetail
(
memberId
).
getJSONObject
(
"result"
).
getString
(
"coachId"
),
coachId
);
}
// 买卡
public
void
signOrder
(
String
courseId
,
String
memberId
){
// 查询存量的卡
JSONObject
fetchPageOfMemberCard
=
cardTools
.
fetchPageOfMemberCard
(
courseId
);
int
total
=
Integer
.
parseInt
(
fetchPageOfMemberCard
.
getString
(
"total"
));
String
cardId
=
""
;
int
quantity
=
0
;
float
price
=
0
;
int
validPeriod
=
0
;
if
(
total
==
0
)
{
cardId
=
cardTools
.
memberCardCreate
(
"约课使用会员卡"
+
TimeUtils
.
getCurrentTime
()).
getString
(
"result"
);
}
cardId
=
fetchPageOfMemberCard
.
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getString
(
"id"
);
quantity
=
Integer
.
parseInt
(
fetchPageOfMemberCard
.
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getString
(
"balance"
));
price
=
Float
.
parseFloat
(
fetchPageOfMemberCard
.
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getString
(
"price"
));
validPeriod
=
Integer
.
parseInt
(
fetchPageOfMemberCard
.
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getString
(
"validPeriod"
));
//获取签单要用的卡快照id
String
latestSnapshotId
=
orderTools
.
fetchDetailById
(
cardId
,
xmAppApi
.
getLoginInfo
().
getBrandId
(),
xmAppApi
.
getLoginInfo
().
getStudioId
(),
xmAppApi
.
getLoginInfo
().
getAdminId
()).
getJSONObject
(
"result"
).
getString
(
"latestSnapshotId"
);
//检查会员对该卡是否超出购买上限
boolean
limitResult
=
orderTools
.
checkAllowPurchase
(
"MEMBER_CARD"
,
cardId
,
cardId
,
"1"
,
xmAppApi
.
getLoginInfo
().
getBrandId
(),
xmAppApi
.
getLoginInfo
().
getStudioId
(),
xmAppApi
.
getLoginInfo
().
getAdminId
()).
getBoolean
(
"success"
);
try
{
Thread
.
sleep
(
1000
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
if
(
limitResult
==
true
){
//创建订单
JSONObject
orderResult
=
orderTools
.
signOrder
(
cardId
,
latestSnapshotId
,
quantity
,
price
,
validPeriod
,
latestSnapshotId
,
"PURCHASE"
,
memberId
,
price
,
price
,
"1"
);
}
}
}
src/main/java/com/xiaomai/cases/polar/memberCard/TestFetchPageOfHistory.java
0 → 100644
View file @
32e518d7
package
com
.
xiaomai
.
cases
.
polar
.
memberCard
;
import
com.alibaba.fastjson.JSONObject
;
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
com.xiaomai.utils.XMBaseTest
;
import
com.xiaomai.utils.XMJSONPath
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
public
class
TestFetchPageOfHistory
extends
XMBaseTest
{
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Card
)
.
setApiName
(
"API_fetchPageOfHistory"
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"yj"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Test
(
description
=
"查看会员卡编辑记录"
)
public
void
testfetchPageOfHistory
()
{
CardTools
Cardtools
=
new
CardTools
();
Cardtools
.
fetchPageOfMemberCard
();
String
memberCardId
=
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].id"
);
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"current"
,
0
);
jsonObject
.
put
(
"size"
,
20
);
jsonObject
.
put
(
"memberCardId"
,
memberCardId
);
jsonObject
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
jsonObject
.
toJSONString
(),
headers
).
assetsSuccess
(
true
);
}
}
src/main/java/com/xiaomai/cases/polar/memberCard/TestModifyShelfState.java
0 → 100644
View file @
32e518d7
package
com
.
xiaomai
.
cases
.
polar
.
memberCard
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
com.xiaomai.utils.XMBaseTest
;
import
com.xiaomai.utils.XMJSONPath
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
public
class
TestModifyShelfState
extends
XMBaseTest
{
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Card
)
.
setApiName
(
"API_modifyShelfState"
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"yj"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Test
(
description
=
"停用会员卡"
)
public
void
testmodifyShelfState
()
{
CardTools
Cardtools
=
new
CardTools
();
Cardtools
.
fetchPageOfMemberCard
();
String
memberCardId
=
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].id"
);
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"shelfState"
,
"NO"
);
jsonObject
.
put
(
"memberCardId"
,
memberCardId
);
jsonObject
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
jsonObject
.
toJSONString
(),
headers
).
assetsSuccess
(
true
);
}
@Test
(
description
=
"启用会员卡"
)
public
void
testmodifyShelfState1
()
{
CardTools
Cardtools
=
new
CardTools
();
Cardtools
.
fetchPageOfMemberCard
();
String
memberCardId
=
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].id"
);
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"shelfState"
,
"YES"
);
jsonObject
.
put
(
"memberCardId"
,
memberCardId
);
jsonObject
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
jsonObject
.
toJSONString
(),
headers
).
assetsSuccess
(
true
);
}
}
src/main/java/com/xiaomai/cases/polar/memberCard/TestModifyXcxSaleState.java
0 → 100644
View file @
32e518d7
package
com
.
xiaomai
.
cases
.
polar
.
memberCard
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
com.xiaomai.utils.XMBaseTest
;
import
com.xiaomai.utils.XMJSONPath
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
public
class
TestModifyXcxSaleState
extends
XMBaseTest
{
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Card
)
.
setApiName
(
"API_modifyXcxSaleState"
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"yj"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Test
(
description
=
"关闭会员卡售卖"
)
public
void
testmodifyShelfState
()
{
CardTools
Cardtools
=
new
CardTools
();
Cardtools
.
fetchPageOfMemberCard
();
String
memberCardId
=
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].id"
);
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"xcxSaleState"
,
"NO"
);
jsonObject
.
put
(
"memberCardId"
,
memberCardId
);
jsonObject
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
jsonObject
.
toJSONString
(),
headers
).
assetsSuccess
(
true
);
}
@Test
(
description
=
"开启会员卡售卖"
)
public
void
testmodifyShelfState1
()
{
CardTools
Cardtools
=
new
CardTools
();
Cardtools
.
fetchPageOfMemberCard
();
String
memberCardId
=
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].id"
);
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"xcxSaleState"
,
"YES"
);
jsonObject
.
put
(
"memberCardId"
,
memberCardId
);
jsonObject
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
jsonObject
.
toJSONString
(),
headers
).
assetsSuccess
(
true
);
}
}
src/main/java/com/xiaomai/cases/polar/memberCard/TestTenantMemberCard_update.java
0 → 100644
View file @
32e518d7
package
com
.
xiaomai
.
cases
.
polar
.
memberCard
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
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
com.xiaomai.utils.XMBaseTest
;
import
com.xiaomai.utils.XMJSONPath
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
import
java.util.ArrayList
;
import
java.util.List
;
public
class
TestTenantMemberCard_update
extends
XMBaseTest
{
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Card
)
.
setApiName
(
"API_tenantMemberCard_update"
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"yj"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Test
(
description
=
"编辑会员卡"
)
public
void
testmodifySharers
()
{
CardTools
Cardtools
=
new
CardTools
();
Cardtools
.
memberCardCreate
(
"次卡-自动化会员卡"
+
RandomStringUtil
.
randomString
(
3
));
//创建随机的名的次卡
Cardtools
.
fetchPageOfMemberCard
();
String
memberCardId
=
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].id"
);
JSONArray
activatePatternList
=
new
JSONArray
();
activatePatternList
.
add
(
"PURCHASE"
);
activatePatternList
.
add
(
"SPECIFIC_DATE"
);
activatePatternList
.
add
(
"FIRST_USED"
);
List
benefitList
=
new
ArrayList
();
//List itemList = new ArrayList();
//itemList.add("");
JSONObject
Object
=
new
JSONObject
();
Object
.
put
(
"identifier"
,
xmAppApi
.
getLoginInfo
().
getUser
());
Object
.
put
(
"benefitType"
,
"BALANCE"
);
Object
.
put
(
"targetScope"
,
"GROUP_CLASS_AND_PERSONAL_COURSE"
);
Object
.
put
(
"balance"
,
"30"
);
Object
.
put
(
"reserveLimitType"
,
"UN_LIMIT"
);
Object
.
put
(
"reserveLimitNumber"
,
0
);
Object
.
put
(
"defaultConsumeBalance"
,
1
);
//Object.put("itemList", itemList);
Object
.
put
(
"targetType"
,
"COURSE"
);
benefitList
.
add
(
Object
);
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"surfaceUrl"
,
"https://image.xiaomaiketang.com/xm/internal/HpRiJpFnTC.png"
);
//会员卡封面图片
jsonObject
.
put
(
"surfaceCornerMark"
,
"自动化标签"
);
jsonObject
.
put
(
"title"
,
""
);
//编辑无法修改会员卡名称
jsonObject
.
put
(
"validPeriod"
,
"3"
);
//有效期-3天
jsonObject
.
put
(
"activatePatternList"
,
activatePatternList
);
//三种生效方式
jsonObject
.
put
(
"sharePeopleLimit"
,
"2"
);
//共享人数
jsonObject
.
put
(
"benefitList"
,
benefitList
);
//使用权益
jsonObject
.
put
(
"price"
,
"1"
);
//价格
jsonObject
.
put
(
"underlinePrice"
,
"10"
);
//划线价
jsonObject
.
put
(
"purchaseNumberLimit"
,
"-1"
);
//购买数量限制
jsonObject
.
put
(
"xcxSaleStatus"
,
"YES"
);
//小程序是否售卖
jsonObject
.
put
(
"creatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
jsonObject
.
put
(
"shelfState"
,
"YES"
);
//卡启用状态
jsonObject
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"description"
,
"{\"items\":[{\"content\":\"自动化编辑的卡\",\"aspect\":\"\",\"type\":\"TEXT\"}]}"
);
jsonObject
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
jsonObject
.
put
(
"memberCardId"
,
memberCardId
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
jsonObject
.
toJSONString
(),
headers
).
assetsSuccess
(
true
);
}
}
src/main/java/com/xiaomai/cases/polar/studioConfig/ConfigTools.java
View file @
32e518d7
...
@@ -33,6 +33,11 @@ public class ConfigTools extends XMBaseTest {
...
@@ -33,6 +33,11 @@ public class ConfigTools extends XMBaseTest {
.
setTerminal
(
Terminal
.
B
);
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
dataUserInfos
);
super
.
beforeDataRequest
(
dataUserInfos
);
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
body
);
jsonObject
.
put
(
"domainId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
jsonObject
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
,
dataheadrs
).
assetsSuccess
(
true
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
,
dataheadrs
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
();
return
dataApi
.
getBodyInJSON
();
}
}
...
...
src/main/java/com/xiaomai/client/OkHttpClient.java
View file @
32e518d7
...
@@ -206,7 +206,8 @@ public class OkHttpClient {
...
@@ -206,7 +206,8 @@ public class OkHttpClient {
}
}
}
}
Headers
.
Builder
headerBuilder
=
new
Headers
.
Builder
();
// Headers.Builder headerBuilder = new Headers.Builder();
headerBuilder
=
new
Headers
.
Builder
();
// 以 Entry 添加消息头
// 以 Entry 添加消息头
if
(
headerParamsMap
!=
null
&&
headerParamsMap
.
size
()
>
0
)
{
if
(
headerParamsMap
!=
null
&&
headerParamsMap
.
size
()
>
0
)
{
Iterator
iterator
=
headerParamsMap
.
entrySet
().
iterator
();
Iterator
iterator
=
headerParamsMap
.
entrySet
().
iterator
();
...
...
src/main/java/com/xiaomai/enums/ApiModule.java
View file @
32e518d7
...
@@ -8,6 +8,7 @@ public class ApiModule {
...
@@ -8,6 +8,7 @@ public class ApiModule {
public
static
String
Polar_Admin
=
"polar_admin"
;
public
static
String
Polar_Admin
=
"polar_admin"
;
public
static
String
Polar_Config
=
"polar_config"
;
public
static
String
Polar_Config
=
"polar_config"
;
public
static
String
Polar_Setting
=
"polar_setting"
;
//通用设置
public
static
String
Polar_Setting
=
"polar_setting"
;
//通用设置
public
static
String
Polar_Applet
=
"polar_applet"
;
public
static
String
Polar_Clue
=
"polar_clue"
;
public
static
String
Polar_Clue
=
"polar_clue"
;
public
static
String
Polar_Member
=
"polar_member"
;
//会员管理
public
static
String
Polar_Member
=
"polar_member"
;
//会员管理
public
static
String
Polar_Course
=
"polar_course"
;
//会员管理
public
static
String
Polar_Course
=
"polar_course"
;
//会员管理
...
...
src/main/java/com/xiaomai/enums/LoginAccount.java
View file @
32e518d7
...
@@ -9,9 +9,11 @@ public class LoginAccount {
...
@@ -9,9 +9,11 @@ public class LoginAccount {
public
static
String
XYM_DEV
=
"xym_dev"
;
public
static
String
XYM_DEV
=
"xym_dev"
;
public
static
String
YFF_DEV
=
"yff_dev"
;
public
static
String
YFF_DEV
=
"yff_dev"
;
public
static
String
ZYX_DEV
=
"zyx_dev"
;
public
static
String
ZYX_DEV
=
"zyx_dev"
;
public
static
String
ZYX1_DEV
=
"zyx1_dev"
;
public
static
String
ADU_PROD
=
"gym_prod_du"
;
public
static
String
ADU_PROD
=
"gym_prod_du"
;
public
static
String
GYM_PROD
=
"gym_prod"
;
public
static
String
GYM_PROD
=
"gym_prod"
;
public
static
String
GYM_PROD2
=
"gym_prod2"
;
public
static
String
XYM_PROD
=
"xym_prod"
;
public
static
String
XYM_PROD
=
"xym_prod"
;
public
static
String
XYM_MINIAPPC
=
"xym_miniAppC"
;
public
static
String
XYM_MINIAPPC
=
"xym_miniAppC"
;
...
...
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