Commit 8d7d571a by xuyamei

课程分类、预约规则、场地

parent a15f098e
package com.xiaomai.cases.polar.setting.courseCategory;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.enums.ApiModule;
import com.xiaomai.enums.RequestType;
import com.xiaomai.enums.Terminal;
import com.xiaomai.utils.XMBaseTest;
import org.springframework.stereotype.Component;
/**
* @BelongsProject: xm-sportstest
* @BelongsPackage: com.xiaomai.cases.polar.setting.courseCategory
* @Author: xuyamei
* @CreateTime: 2024-04-29 09:40
* @Description: 课程分类工具类
* @Version: 1.0
*/
@Component("courseCategoryTools")
public class CourseCategoryTools extends XMBaseTest {
/**
* @description: 获取课程分类列表
* @author: xuyamei
* @date: 2024/4/29 08:08
* @param current
* @return: com.alibaba.fastjson.JSONObject
**/
public JSONObject getCourseCategoryDetailPage(int current){
dataApi.setApiModule(ApiModule.Polar_Setting)
.setApiName("API_courseCategory_getDetailPage")
.setTerminal(Terminal.B);
super.beforeDataRequest();
JSONObject body= new JSONObject();
body.put("current",current);
body.put("size",10);
body.put("brandId",dataApi.getLoginInfo().getBrandId());
body.put("studioId",dataApi.getLoginInfo().getStudioId());
body.put("operatorId",dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON,params,body.toString(),headers).assetsSuccess(true);
return dataApi.getBodyInJSON();
}
/**
* @description:获取存量的课程分类
* @author: xuyamei
* @date: 2024/5/6 11:32
* @param categoryName :新建的课程类型名称
* @return: java.lang.String
**/
public String getCourseCategoryPage(String categoryName){
// 获取存量的课程分类,列表数据存在则取第二条数据
JSONObject detailPage = getCourseCategoryDetailPage(0);
if (Integer.parseInt(detailPage.getJSONObject("result").getString("total"))>1){
return detailPage.getJSONObject("result").getJSONArray("records").getJSONObject(1).getString("id");
}
// 没有则创建
if (!checkCategoryNameDup(categoryName,"")){
return createCourseCategory(categoryName);
}
return null;
}
/**
* @description:校验课程分类名称重复
* @author: xuyamei
* @date: 2024/4/29 18:55
* @param
* @return: java.lang.String
**/
public boolean checkCategoryNameDup(String categoryName,String oldCategoryId){
dataApi.setApiModule(ApiModule.Polar_Setting)
.setApiName("API_checkCategoryNameDup")
.setTerminal(Terminal.B);
super.beforeDataRequest();
JSONObject body = new JSONObject();
body.put("brandId",dataApi.getLoginInfo().getBrandId());
body.put("categoryName",categoryName);
if (oldCategoryId.equals("")){
body.put("oldCategoryId",oldCategoryId);
}
dataApi.doRequest(RequestType.JSON,params,body.toString(),headers);
return dataApi.getBodyInJSON().getBoolean("result");
}
/**
* @description:创建课程分类
* @author: xuyamei
* @date: 2024/4/29 19:16
* @param categoryName
* @return: com.alibaba.fastjson.JSONObject
**/
public String createCourseCategory(String categoryName){
dataApi.setApiModule(ApiModule.Polar_Setting)
.setApiName("API_createCourseCategory")
.setTerminal(Terminal.B);
super.beforeDataRequest();
JSONObject body = new JSONObject();
body.put("brandId",dataApi.getLoginInfo().getBrandId());
body.put("categoryName",categoryName);
body.put("operatorId",dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON,params,body.toString(),headers);
return dataApi.getBodyInJSON().getJSONObject("result").getString("id");
}
/**
* @description:删除课程分类
* @author: xuyamei
* @date: 2024/4/29 19:35
* @param categoryId
* @return: void
**/
public void deleteCourseCategory(String categoryId){
dataApi.setApiModule(ApiModule.Polar_Setting)
.setApiName("API_deleteCourseCategory")
.setTerminal(Terminal.B);
super.beforeDataRequest();
JSONObject body = new JSONObject();
body.put("studioId",dataApi.getLoginInfo().getStudioId());
body.put("categoryId",categoryId);
body.put("operatorId",dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON,params,body.toString(),headers).assetsSuccess(true);
}
/**
* @description:校验课程分类是否可编辑/删除
* @author: xuyamei
* @date: 2024/4/29 19:40
* @param categoryId :课程分类名称
* @param del:是否编辑操作
* @return:
**/
public boolean canModifyCourseCategory(String categoryId,boolean del){
dataApi.setApiModule(ApiModule.Polar_Setting)
.setApiName("API_canModifyCourseCategory")
.setTerminal(Terminal.B);
super.beforeDataRequest();
JSONObject body = new JSONObject();
body.put("studioId",dataApi.getLoginInfo().getStudioId());
body.put("categoryId",categoryId);
body.put("del",del);
body.put("operatorId",dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON,params,body.toString(),headers);
return dataApi.getBodyInJSON().getBoolean("result");
}
}
package com.xiaomai.cases.polar.setting.courseCategory;
import com.xiaomai.basetest.BaseTestImpl;
import com.xiaomai.cases.polar.course.CourseTools;
import com.xiaomai.enums.ApiModule;
import com.xiaomai.enums.LoginAccount;
import com.xiaomai.enums.Terminal;
import com.xiaomai.utils.TimeUtils;
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.setting.courseCategory
* @Author: xuyamei
* @CreateTime: 2024-05-07 10:52
* @Description: 课程分类是否能编辑
* @Version: 1.0
*/
public class TestCanModifyCourseCategory extends BaseTestImpl {
@Resource(name = "courseCategoryTools")
CourseCategoryTools courseCategoryTools;
private String categoryId;
@BeforeClass
public void beforeTest(){
setTestInfo(ApiModule.Polar_Setting,"API_canModifyCourseCategory", LoginAccount.GYM_PROD, Terminal.B,"xym");
super.beforeTest();
}
@Test
public void testCanModifyCourseCategory(){
// 创建课程分类
categoryId = courseCategoryTools.createCourseCategory("课程分类"+ TimeUtils.getCurrentTime());
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
Assert.assertTrue(courseCategoryTools.canModifyCourseCategory(categoryId,true),"没有被其他场馆使用,正常可以编辑");
}
@Test(description = "清除增量数据",priority = 1)
public void del(){
courseCategoryTools.deleteCourseCategory(categoryId);
}
}
package com.xiaomai.cases.polar.setting.courseCategory;
import com.xiaomai.basetest.BaseTestImpl;
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.setting.courseCategory
* @Author: xuyamei
* @CreateTime: 2024-04-29 18:59
* @Description: 校验课程分类名称是否重复
* @Version: 1.0
*/
public class TestCheckCategoryNameDup extends BaseTestImpl {
@Resource(name = "courseCategoryTools")
CourseCategoryTools courseCategoryTools;
@BeforeClass
public void beforeTest(){
setTestInfo(ApiModule.Polar_Setting,"API_checkCategoryNameDup", LoginAccount.GYM_PROD, Terminal.B,"xym");
super.beforeTest();
}
@Test
public void testCheckCategoryNameDup(){
boolean flag = courseCategoryTools.checkCategoryNameDup("不存在的课程分类名称","");
Assert.assertFalse(flag,"不存在的课程分类名称提示存在");
}
}
package com.xiaomai.cases.polar.setting.courseCategory;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.basetest.BaseTestImpl;
import com.xiaomai.enums.ApiModule;
import com.xiaomai.enums.LoginAccount;
import com.xiaomai.enums.Terminal;
import com.xiaomai.utils.TimeUtils;
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.setting.courseCategory
* @Author: xuyamei
* @CreateTime: 2024-04-29 09:08
* @Description:创建课程分类
* @Version: 1.0
*/
public class TestCreateCourseCategory extends BaseTestImpl {
@Resource(name = "courseCategoryTools")
CourseCategoryTools courseCategoryTools;
private String categoryId;
@BeforeClass
public void beforeTest(){
setTestInfo(ApiModule.Polar_Setting,"API_courseCategory_getDetailPage", LoginAccount.GYM_PROD, Terminal.B,"xym");
super.beforeTest();
}
@Test(description = "查询要创建的名称是否存在-->不存在则新建-->查询新建之后的数据是否存在")
public void testCourseCategoryGetDetailPage(){
// 查询课程分类是否超过50个上限
JSONObject detailPage = courseCategoryTools.getCourseCategoryDetailPage(0);
if (detailPage.getJSONObject("result").getInteger("total").equals("50"))
return;
String courseCategoryName = "课程分类名称"+ TimeUtils.getCurrentTime();
// 验证课程名称是否重复,不重复则新建
if(courseCategoryTools.checkCategoryNameDup(courseCategoryName,""))
return;
//创建课程分类
categoryId = courseCategoryTools.createCourseCategory(courseCategoryName);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
//获取课程分类详情
detailPage = courseCategoryTools.getCourseCategoryDetailPage(0);
String operatorId = detailPage.getJSONObject("result").getJSONArray("records").getJSONObject(0).getString("lastOperatorId"); // 最后操作人
String courseCategoryId = detailPage.getJSONObject("result").getJSONArray("records").getJSONObject(0).getString("id"); // 课程分类id
String categoryName = detailPage.getJSONObject("result").getJSONArray("records").getJSONObject(0).getString("categoryName"); // 课程分类名称
Assert.assertEquals(operatorId.equals(xmAppApi.getLoginInfo().getAdminId()) && courseCategoryId.equals(categoryId) && categoryName.equals(courseCategoryName),true,"新建的课程分类与查询的不一致");
}
@Test(description = "清除增量数据",priority = 1)
public void del(){
boolean flag = courseCategoryTools.canModifyCourseCategory(categoryId,true);
if (flag){
courseCategoryTools.deleteCourseCategory(categoryId);
}
}
}
package com.xiaomai.cases.polar.setting.courseCategory;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.basetest.BaseTestImpl;
import com.xiaomai.cases.polar.course.CourseTools;
import com.xiaomai.enums.ApiModule;
import com.xiaomai.enums.LoginAccount;
import com.xiaomai.enums.RequestType;
import com.xiaomai.enums.Terminal;
import com.xiaomai.utils.TimeUtils;
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.setting.courseCategory
* @Author: xuyamei
* @CreateTime: 2024-05-07 11:07
* @Description: 删除课程分类
* @Version: 1.0
*/
public class TestDeleteCourseCategory extends BaseTestImpl {
@Resource(name = "courseTools")
CourseTools courseTools;
@Resource(name = "courseCategoryTools")
CourseCategoryTools courseCategoryTools;
private String categoryId;
private String courseId;
@BeforeClass
public void beforeTest(){
setTestInfo(ApiModule.Polar_Setting,"API_deleteCourseCategory", LoginAccount.GYM_PROD, Terminal.B,"xym");
super.beforeTest();
}
@DataProvider()
public Object[][] data(){
return new Object[][]{
{false,"课程分类关联其他课程,不能删除"},
{true,"课程分类没有关联任何课程,无法删除"}
};
}
@Test(dataProvider = "data")
public void testDeleteCourseCategory(boolean flag,String msg) throws InterruptedException {
JSONObject body = new JSONObject();
body.put("studioId",xmAppApi.getLoginInfo().getStudioId());
body.put("operatorId",xmAppApi.getLoginInfo().getAdminId());
if (flag){
// 删除课程
courseTools.modifyCourseStatus(courseId,"DELETE",false);
}else{
// 创建课程分类
categoryId = courseCategoryTools.createCourseCategory("课程分类"+ TimeUtils.getCurrentTime());
Thread.sleep(1000);
// 创建团课程
courseId = courseTools.createGroupCourse("自动化测试课程",categoryId,"STUDIO");
Thread.sleep(2500);
}
body.put("categoryId",categoryId);
xmAppApi.doRequest(RequestType.JSON,params,body.toString(),headers).assetsSuccess(flag,msg);
}
}
package com.xiaomai.cases.polar.setting.courseCategory;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.basetest.BaseTestImpl;
import com.xiaomai.enums.ApiModule;
import com.xiaomai.enums.LoginAccount;
import com.xiaomai.enums.RequestType;
import com.xiaomai.enums.Terminal;
import com.xiaomai.utils.TimeUtils;
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.setting.courseCategory
* @Author: xuyamei
* @CreateTime: 2024-04-29 20:02
* @Description: 编辑课程分类
* @Version: 1.0
*/
public class TestEditCourseCategory extends BaseTestImpl {
@Resource(name = "courseCategoryTools")
CourseCategoryTools courseCategoryTools;
private String categoryId;
@BeforeClass
public void beforeTest(){
setTestInfo(ApiModule.Polar_Setting,"API_editCourseCategory", LoginAccount.GYM_PROD, Terminal.B,"xym");
super.beforeTest();
}
@Test(description = "创建课程分类 --> 编辑课程分类 --> 查询课程分类")
public void testEditCourseCategory() {
String name = "新建课程分类"+ TimeUtils.getCurrentTime();
// 创建课程分类
categoryId = courseCategoryTools.createCourseCategory(name);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
name = name+"_编辑";
// 编辑课程分类
JSONObject body = new JSONObject();
body.put("categoryId",categoryId);
body.put("categoryName",name);
body.put("operatorId",xmAppApi.getLoginInfo().getAdminId());
body.put("studioId",xmAppApi.getLoginInfo().getStudioId());
body.put("brandId",xmAppApi.getLoginInfo().getBrandId());
xmAppApi.doRequest(RequestType.JSON,params,body.toString(),headers).assetsSuccess(true);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
//获取课程分类详情
JSONArray detailPage = courseCategoryTools.getCourseCategoryDetailPage(0).getJSONObject("result").getJSONArray("records");
for (int i = 0; i < detailPage.size(); i++){
if (detailPage.getJSONObject(i).getString("id").equals(categoryId)){
String operatorId = detailPage.getJSONObject(0).getString("lastOperatorId"); // 最后操作人
String categoryName = detailPage.getJSONObject(0).getString("categoryName"); // 课程分类名称
// 校验编辑后的课程分类名称及操作人
Assert.assertEquals(operatorId.equals(xmAppApi.getLoginInfo().getAdminId()) && categoryName.equals(name),true,"编辑的课程分类与查询后的不一致");
break;
}
}
}
@Test(description = "清除增量数据",priority = 1)
public void del(){
boolean flag = courseCategoryTools.canModifyCourseCategory(categoryId,true);
if (flag){
courseCategoryTools.deleteCourseCategory(categoryId);
}
}
}
package com.xiaomai.cases.polar.setting.rules;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.enums.ApiModule;
import com.xiaomai.enums.RequestType;
import com.xiaomai.enums.Terminal;
import com.xiaomai.utils.XMBaseTest;
import org.springframework.stereotype.Component;
/**
* @BelongsProject: xm-sportstest
* @BelongsPackage: com.xiaomai.cases.polar.setting.rules
* @Author: xuyamei
* @CreateTime: 2024-05-13 16:10
* @Description: 预约规则工具类
* @Version: 1.0
*/
@Component("ruleTools")
public class RuleTools extends XMBaseTest {
/**
* @description:保存预约规则
* @author: xuyamei
* @date: 2024/5/13 17:31
* @param id :规则id
* @param allowQueuing:是否允许排队
* @param bookingSeatCount:预约人数
* @param xcxAutoSignIn:小程序自主签到
* @param scanSignIn:扫码签到
* @param signInBeforeMinutes:开课前多少分钟允许签到
* @param startRuleRequestLimit:是否开启预约时间限制
* @param startComingDayMinuteOffset:几点开放预约
* @param startComingDays:可约近几天的课
* @param endRuleRequestLimit:是否开启截止预约限制
* @param endBeforeMinutes:截止预约时间
* @param endBeforeUnit:截止预约时间单位
* @param cancelRuleLimit:是否开启取消预约限制
* @param cancelMinutes:截止取消预约时间
* @param cancelUnit:截止取消预约时间单位
**/
public void saveGroupBookingRules(String id,boolean allowQueuing,int bookingSeatCount,boolean xcxAutoSignIn,boolean scanSignIn,int signInBeforeMinutes,boolean startRuleRequestLimit,int startComingDayMinuteOffset,int startComingDays,boolean endRuleRequestLimit,int endBeforeMinutes,String endBeforeUnit,boolean cancelRuleLimit,int cancelMinutes,String cancelUnit){
dataApi.setApiModule(ApiModule.Polar_Setting)
.setApiName("API_saveGroupBookingRules")
.setTerminal(Terminal.B);
super.beforeDataRequest();
JSONObject body = new JSONObject();
body.put("brandId",dataApi.getLoginInfo().getBrandId());
body.put("studioId",dataApi.getLoginInfo().getStudioId());
body.put("operatorId",dataApi.getLoginInfo().getAdminId());
body.put("id",id); // 规则id
body.put("allowQueuing",allowQueuing); // 是否允许排队
body.put("bookingSeatCount",bookingSeatCount); // 预约席位
body.put("xcxAutoSignIn",xcxAutoSignIn); // 小程序签到
body.put("scanSignIn",scanSignIn); // 扫码签到
body.put("signInBeforeMinutes",signInBeforeMinutes); // 开课前多久允许签到
JSONObject bookingStartRuleRequest = new JSONObject(); // 预约时间限制
if (startRuleRequestLimit){ // 开启预约时间限制
bookingStartRuleRequest.put("bookingStartComingDayMinuteOffset",startComingDayMinuteOffset); // 几点开放预约
bookingStartRuleRequest.put("bookingStartComingDays",startComingDays); // 可约近几天的课
}
bookingStartRuleRequest.put("limit",startRuleRequestLimit); // 是否开启预约时间限制
body.put("bookingStartRuleRequest",bookingStartRuleRequest); // 预约时间限制
JSONObject bookingEndRuleRequest = new JSONObject(); // 截止预约限制
if (endRuleRequestLimit){
bookingEndRuleRequest.put("bookingEndBeforeMinutes",endBeforeMinutes); // 截止预约前多长时间
bookingEndRuleRequest.put("bookingEndBeforeUnit",endBeforeUnit); // 单位
}
bookingEndRuleRequest.put("limit",endRuleRequestLimit); // 截止预约限制
body.put("bookingEndRuleRequest",bookingEndRuleRequest); //截止时间限制
JSONObject cancelStartClassRuleRequest = new JSONObject(); // 取消开课限制
cancelStartClassRuleRequest.put("limit",false);
body.put("cancelStartClassRuleRequest",cancelStartClassRuleRequest);
JSONObject cancelBookingRuleRequest = new JSONObject();
if (cancelRuleLimit){
cancelBookingRuleRequest.put("cancelBookingBeforeMinutes",cancelMinutes); // 开课前截止取消预约
cancelBookingRuleRequest.put("cancelBookingBeforeUnit",cancelUnit); // 单位
}
cancelBookingRuleRequest.put("limit",cancelRuleLimit);
body.put("cancelBookingRuleRequest",cancelBookingRuleRequest);
dataApi.doRequest(RequestType.JSON,params,body.toString(),headers).assetsSuccess(true);
}
/**
* @description:获取团课预约规则
* @author: xuyamei
* @date: 2024/5/13 16:27
* @param
* @return: com.alibaba.fastjson.JSONObject
**/
public JSONObject getGroupBookingRules(){
dataApi.setApiModule(ApiModule.Polar_Setting)
.setApiName("API_getGroupBookingRules")
.setTerminal(Terminal.B);
super.beforeDataRequest();
JSONObject body= new JSONObject();
body.put("brandId",dataApi.getLoginInfo().getBrandId());
body.put("studioId",dataApi.getLoginInfo().getStudioId());
body.put("operatorId",dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON,params,body.toString(),headers).assetsSuccess(true);
return dataApi.getBodyInJSON().getJSONObject("result");
}
}
package com.xiaomai.cases.polar.setting.rules;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.basetest.BaseTestImpl;
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.setting.rules
* @Author: xuyamei
* @CreateTime: 2024-05-13 16:05
* @Description: 保存规则
* @Version: 1.0
*/
public class TestSaveGroupBookingRules extends BaseTestImpl {
@Resource(name = "ruleTools")
RuleTools ruleTools;
@BeforeClass
public void beforeTest(){
setTestInfo(ApiModule.Polar_Setting,"API_saveGroupBookingRules", LoginAccount.GYM_PROD, Terminal.B,"xym");
super.beforeTest();
}
@DataProvider
public Object[][] dataProvider(){
Random random = new Random();
int bookingSeatCount = random.nextInt(10)+1; // 席位
return new Object[][]{
{true,bookingSeatCount,true,true,random.nextInt(30)+10,true,random.nextInt(1000)+10,random.nextInt(5)+1,true,random.nextInt(1000)+10,"hour",true,random.nextInt(1000)+10,"hour"},
{false,bookingSeatCount,false,false,random.nextInt(30)+10,false,random.nextInt(1000)+10,random.nextInt(5)+1,false,random.nextInt(1000)+10,"hour",false,random.nextInt(1000)+10,"hour"},
};
}
@Test(dataProvider = "dataProvider")
public void testSaveGroupBookingRules(boolean allowQueuing,int bookingSeatCount,boolean xcxAutoSignIn,boolean scanSignIn,int signInBeforeMinutes,
boolean bookingStartRuleRequest,int startComingDayMinuteOffset,int startComingDays,boolean bookingEndRuleRequest,
int endBeforeMinutes,String endBeforeUnit,boolean cancelBookingRuleRequest,int cancelBookingBeforeMinutes,String cancelBookingBeforeUnit) {
JSONObject getRules = ruleTools.getGroupBookingRules(); // 获取场馆团课预约规则
String id = getRules.getString("id"); // 获取规则id
ruleTools.saveGroupBookingRules(id,allowQueuing,bookingSeatCount,xcxAutoSignIn,scanSignIn,signInBeforeMinutes,bookingStartRuleRequest,startComingDayMinuteOffset,startComingDays,bookingEndRuleRequest,endBeforeMinutes,endBeforeUnit,cancelBookingRuleRequest,cancelBookingBeforeMinutes,cancelBookingBeforeUnit);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
getRules = ruleTools.getGroupBookingRules(); // 获取场馆团课预约规则
for (int i = 0; i < 14; i++){
Assert.assertEquals(getRules.getBooleanValue("allowQueuing"),allowQueuing);
Assert.assertEquals(getRules.getIntValue("bookingSeatCount"),bookingSeatCount);
Assert.assertEquals(getRules.getBooleanValue("xcxAutoSignIn"),xcxAutoSignIn);
Assert.assertEquals(getRules.getBooleanValue("scanSignIn"),scanSignIn);
Assert.assertEquals(getRules.getIntValue("signInBeforeMinutes"),signInBeforeMinutes);
if (bookingStartRuleRequest){ // 预约时间限制
Assert.assertEquals(getRules.getJSONObject("groupBookingStartRuleVO").getIntValue("bookingStartComingDays"),startComingDays);
Assert.assertEquals(getRules.getJSONObject("groupBookingStartRuleVO").getIntValue("bookingStartComingDayMinuteOffset"),startComingDayMinuteOffset);
}
Assert.assertEquals(getRules.getJSONObject("groupBookingStartRuleVO").getBooleanValue("limit"),bookingStartRuleRequest);
if (bookingEndRuleRequest){ // 截止预约时间限制
Assert.assertEquals(getRules.getJSONObject("groupBookingEndRuleVO").getIntValue("bookingEndBeforeMinutes"),endBeforeMinutes);
Assert.assertEquals(getRules.getJSONObject("groupBookingEndRuleVO").getString("bookingEndBeforeUnit"),endBeforeUnit);
}
Assert.assertEquals(getRules.getJSONObject("groupBookingEndRuleVO").getBooleanValue("limit"),bookingEndRuleRequest);
if (cancelBookingRuleRequest){ // 取消预约限制
Assert.assertEquals(getRules.getJSONObject("cancelGroupBookingRuleVO").getIntValue("cancelBookingBeforeMinutes"),cancelBookingBeforeMinutes);
Assert.assertEquals(getRules.getJSONObject("cancelGroupBookingRuleVO").getString("cancelBookingBeforeUnit"),cancelBookingBeforeUnit);
}
Assert.assertEquals(getRules.getJSONObject("cancelGroupBookingRuleVO").getBooleanValue("limit"),cancelBookingRuleRequest);
}
}
}
package com.xiaomai.cases.polar.setting.venue;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.basetest.BaseTestImpl;
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.setting.venue
* @Author: xuyamei
* @CreateTime: 2024-05-08 11:25
* @Description: 创建场地
* @Version: 1.0
*/
public class TestCreateVenueArea extends BaseTestImpl {
@Resource(name = "venueAreaTools")
VenueAreaTools venueAreaTools;
@BeforeClass
public void beforeTest(){
setTestInfo(ApiModule.Polar_Setting,"API_createVenueArea", LoginAccount.GYM_PROD, Terminal.B,"xym");
super.beforeTest();
}
private String groupId;
@Test
public void testCreateVenueArea() {
String name = "瑜伽场地" + System.currentTimeMillis();
groupId = venueAreaTools.createVenueArea(name);
try {
Thread.sleep(500);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
// check:新建之后查询列表数据
JSONObject response = venueAreaTools.getVenueAreaPage();
String id = response.getJSONArray("records").getJSONObject(0).getString("groupId");
String groupName = response.getJSONArray("records").getJSONObject(0).getString("groupName");
Assert.assertEquals(id.equals(groupId) && groupName.equals(name) , true,"新建之后查询到的数据与新建不一致");
}
@Test(description = "清除增量数据",priority = 1)
public void del() {
venueAreaTools.deleteVenueArea(groupId);
}
}
package com.xiaomai.cases.polar.setting.venue;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.basetest.BaseTestImpl;
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.setting.venue
* @Author: xuyamei
* @CreateTime: 2024-05-08 14:37
* @Description: 删除场地
* @Version: 1.0
*/
public class TestDeleteVenueArea extends BaseTestImpl {
@Resource(name = "venueAreaTools")
VenueAreaTools venueAreaTools;
@BeforeClass
public void beforeTest(){
setTestInfo(ApiModule.Polar_Setting,"API_createVenueArea", LoginAccount.GYM_PROD, Terminal.B,"xym");
super.beforeTest();
}
@Test
public void testCreateVenueArea() {
// 新建之前查询列表数据
JSONObject response = venueAreaTools.getVenueAreaPage();
int beforeTotal = Integer.parseInt(response.getString("total"));
String name = "瑜伽场地" + System.currentTimeMillis();
String groupId = venueAreaTools.createVenueArea(name);
// 删除场地
venueAreaTools.deleteVenueArea(groupId);
// check:删除之后查询列表数据
response = venueAreaTools.getVenueAreaPage();
int afterTotal = Integer.parseInt(response.getString("total"));
Assert.assertEquals(afterTotal-beforeTotal, 0,"删除之后列表数据没有减少");
}
}
package com.xiaomai.cases.polar.setting.venue;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.basetest.BaseTestImpl;
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.setting.venue
* @Author: xuyamei
* @CreateTime: 2024-05-08 14:33
* @Description: 编辑场地
* @Version: 1.0
*/
public class TestEditVenueArea extends BaseTestImpl {
@Resource(name = "venueAreaTools")
VenueAreaTools venueAreaTools;
@BeforeClass
public void beforeTest(){
setTestInfo(ApiModule.Polar_Setting,"API_editVenueArea", LoginAccount.GYM_PROD, Terminal.B,"xym");
super.beforeTest();
}
private String groupId;
@Test
public void testEditVenueArea() {
String name = "瑜伽场地" + System.currentTimeMillis();
groupId = venueAreaTools.createVenueArea(name);
// 编辑名称
name = "编辑瑜伽场地"+System.currentTimeMillis();
venueAreaTools.editVenueAreaPage(groupId,name);
// check:编辑之后查询列表数据
JSONObject response = venueAreaTools.getVenueAreaPage();
String id = response.getJSONArray("records").getJSONObject(0).getString("groupId");
String groupName = response.getJSONArray("records").getJSONObject(0).getString("groupName");
Assert.assertEquals(id.equals(groupId) && groupName.equals(name) , true,"编辑之后查询到的数据与编辑不一致");
}
@Test(description = "清除增量数据",priority = 1)
public void del() {
venueAreaTools.deleteVenueArea(groupId);
}
}
package com.xiaomai.cases.polar.setting.venue;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.enums.ApiModule;
import com.xiaomai.enums.RequestType;
import com.xiaomai.enums.Terminal;
import com.xiaomai.utils.XMBaseTest;
import org.springframework.stereotype.Component;
/**
* @BelongsProject: xm-sportstest
* @BelongsPackage: com.xiaomai.cases.polar.setting.venue
* @Author: xuyamei
* @CreateTime: 2024-05-08 11:26
* @Description: 场地工具类
* @Version: 1.0
*/
@Component("venueAreaTools")
public class VenueAreaTools extends XMBaseTest {
/**
* @description:创建场地
* @author: xuyamei
* @date: 2024/5/8 13:55
* @param areaName:场地名称
* @return: java.lang.String
**/
public String createVenueArea(String areaName) {
dataApi.setApiModule(ApiModule.Polar_Setting)
.setApiName("API_createVenueArea")
.setTerminal(Terminal.B);
super.beforeDataRequest();
JSONObject body = new JSONObject();
body.put("brandId",dataApi.getLoginInfo().getBrandId());
body.put("studioId",dataApi.getLoginInfo().getStudioId());
body.put("operatorId",dataApi.getLoginInfo().getAdminId());
body.put("groupName",areaName);
dataApi.doRequest(RequestType.JSON,params,body.toString(),headers).assetsSuccess(true);
return dataApi.getBodyInJSON().getString("result");
}
public void deleteVenueArea(String groupId) {
dataApi.setApiModule(ApiModule.Polar_Setting)
.setApiName("API_deleteVenueArea")
.setTerminal(Terminal.B);
super.beforeDataRequest();
JSONObject body= new JSONObject();
body.put("groupId",groupId);
body.put("brandId",dataApi.getLoginInfo().getBrandId());
body.put("studioId",dataApi.getLoginInfo().getStudioId());
body.put("operatorId",dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON,params,body.toString(),headers).assetsSuccess(true);
}
/**
* @description:查看场地列表数据
* @author: xuyamei
* @date: 2024/5/8 13:58
* @return: :返回列表数据
**/
public JSONObject getVenueAreaPage() {
dataApi.setApiModule(ApiModule.Polar_Setting)
.setApiName("API_getVenueAreaPage")
.setTerminal(Terminal.B);
super.beforeDataRequest();
JSONObject body= new JSONObject();
body.put("current",0);
body.put("size",20);
body.put("brandId",dataApi.getLoginInfo().getBrandId());
body.put("studioId",dataApi.getLoginInfo().getStudioId());
body.put("operatorId",dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON,params,body.toString(),headers).assetsSuccess(true);
return dataApi.getBodyInJSON().getJSONObject("result");
}
/**
* @description:编辑场地
* @author: xuyamei
* @date: 2024/5/8 14:14
* @param groupId :场地id
* @param groupName :场地名称
* @return: void
**/
public void editVenueAreaPage(String groupId,String groupName) {
dataApi.setApiModule(ApiModule.Polar_Setting)
.setApiName("API_editVenueArea")
.setTerminal(Terminal.B);
super.beforeDataRequest();
JSONObject body= new JSONObject();
body.put("groupName",groupName);
body.put("groupId",groupId);
body.put("brandId",dataApi.getLoginInfo().getBrandId());
body.put("studioId",dataApi.getLoginInfo().getStudioId());
body.put("operatorId",dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON,params,body.toString(),headers).assetsSuccess(true);
}
/**
* @description:根据课程id获取场地详情
* @author: xuyamei
* @date: 2024/5/8 14:14
* @param courseId :课程id
* @return:
**/
public JSONObject getListByStudioCourseId(String courseId){
dataApi.setApiModule(ApiModule.Polar_Setting)
.setApiName("API_getListByStudioCourseId")
.setTerminal(Terminal.B);
super.beforeDataRequest();
JSONObject body= new JSONObject();
body.put("brandCourseId",courseId);
body.put("brandId",dataApi.getLoginInfo().getBrandId());
body.put("studioId",dataApi.getLoginInfo().getStudioId());
body.put("operatorId",dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON,params,body.toString(),headers).assetsSuccess(true);
return dataApi.getBodyInJSON().getJSONObject("result");
}
}
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