Commit 491b370a by xuyamei

新增员工 增加复用

parent 9af8e2e4
...@@ -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;
......
...@@ -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("100")); body.put("phone", RandomStringUtil.randomMobile("103"));
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);
}
} }
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(2000); Thread.sleep(10000);
} 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,"添加员工未生成操作日志");
} }
} }
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,"手机号是主账号但是未返回任职的场馆");
}
}
...@@ -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();
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment