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
491b370a
Commit
491b370a
authored
Jul 01, 2024
by
xuyamei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增员工 增加复用
parent
9af8e2e4
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
175 additions
and
8 deletions
+175
-8
src/main/java/com/xiaomai/basetest/BaseTestImpl.java
+4
-0
src/main/java/com/xiaomai/cases/polar/admin/AdminTools.java
+68
-3
src/main/java/com/xiaomai/cases/polar/admin/TestAddStudioAdmin.java
+47
-5
src/main/java/com/xiaomai/cases/polar/admin/TestFindStudioBossInBrand.java
+51
-0
src/main/java/com/xiaomai/cases/polar/studioConfig/ConfigTools.java
+5
-0
No files found.
src/main/java/com/xiaomai/basetest/BaseTestImpl.java
View file @
491b370a
...
@@ -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 @
491b370a
...
@@ -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
);
...
@@ -238,6 +238,71 @@ public class AdminTools extends XMBaseTest {
...
@@ -238,6 +238,71 @@ 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
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
}
}
}
src/main/java/com/xiaomai/cases/polar/admin/TestAddStudioAdmin.java
View file @
491b370a
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/TestFindStudioBossInBrand.java
0 → 100644
View file @
491b370a
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/studioConfig/ConfigTools.java
View file @
491b370a
...
@@ -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
();
}
}
...
...
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