Commit 204e2bf6 by xyy

Merge remote-tracking branch 'origin/master'

parents bbb29233 382b4057
package com.xiaomai.cases.polar.memberCard.MemberCardTimeSale;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.client.DataUserInfo;
import com.xiaomai.enums.ApiModule;
import com.xiaomai.enums.RequestType;
import com.xiaomai.enums.Terminal;
import com.xiaomai.utils.TimeUtils;
import com.xiaomai.utils.XMBaseTest;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
@Component("memberCardTimeSaleTools")
public class MemberCardTimeSaleTools extends XMBaseTest {
/**
* @param
* @description:B端查看秒杀活动列表
* @author: yangjian
* @param stat 活动状态
**/
public JSONObject getStudioActivityPage(String stat, DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Polar_Card)
.setApiName("API_getStudioActivityPage")
.setTerminal(Terminal.B);
super.beforeDataRequest(dataUserInfos);
List<String> status = new ArrayList<>();
status.add(stat);
JSONObject jsonObject = new JSONObject();
jsonObject.put("current", 0);
jsonObject.put("size", 20);
jsonObject.put("states", status);//UNPUBLISHED未发布;WAITING未开始;PROCESSING进行中;ENDED已结束;ABNORMAL已失效
jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId());
jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response = dataApi.getBodyInJSON();
return response;
}
/**
* @param
* @description:B端创建限时秒杀活动
* @author: yangjian
* @param membercardId 关联的会员卡ID
* @param activityName 秒杀活动名称
**/
public JSONObject create(String membercardId,String activityName,Boolean publish, DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Polar_Card)
.setApiName("API_createfalshsale")
.setTerminal(Terminal.B);
super.beforeDataRequest(dataUserInfos);
List<String> applyMemberStates = new ArrayList<>();
applyMemberStates.add("POTENTIAL");
applyMemberStates.add("NORMAL");
applyMemberStates.add("HISTORY");
JSONObject jsonObject = new JSONObject();
jsonObject.put("activityName", activityName);
jsonObject.put("activityType", "SECKILL");//活动类型为秒杀
jsonObject.put("endTime", TimeUtils.getTodayEndTime());//活动结束时间为今天24点
jsonObject.put("startTime", TimeUtils.getTodayTime());//活动开始时间为今天0点
jsonObject.put("applyMemberStates", applyMemberStates);//活动可参与用户
jsonObject.put("autoCancelMinutes", "5");//自动取消订单时间
jsonObject.put("commodityId", membercardId);//活动的会员卡商品
jsonObject.put("commodityType", "MEMBER_CARD");//商品类型,目前仅有会员卡
jsonObject.put("initSalesVolumeShow", "10");//初始秒杀数量显示
jsonObject.put("purchaseNumberLimit", -1);//购买数量限制:不限制
jsonObject.put("reserveReminder", true);//秒杀数量是否展示
jsonObject.put("specialPrice", "0");//秒杀价格0元
jsonObject.put("publish", publish);//是否发布
jsonObject.put("stock", "10");//活动库存数
jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId());
jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response = dataApi.getBodyInJSON();
return response;
}
/**
* @param
* @description:B端搜索秒杀活动列表
* @author: yangjian
* @param activityNameLike 搜索内容
**/
public JSONObject getStudioActivityPage1(String activityNameLike, DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Polar_Card)
.setApiName("API_getStudioActivityPage")
.setTerminal(Terminal.B);
super.beforeDataRequest(dataUserInfos);
JSONObject jsonObject = new JSONObject();
jsonObject.put("activityNameLike", activityNameLike);
jsonObject.put("size", 10);
jsonObject.put("current", 0);
jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId());
jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response = dataApi.getBodyInJSON();
return response;
}
/**
* @param
* @description:获取秒杀活动详情
* @author: yangjian
* @param activityId 活动ID
**/
public JSONObject getStudioActivityById(String activityId, DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Polar_Card)
.setApiName("API_getStudioActivityById")
.setTerminal(Terminal.B);
super.beforeDataRequest(dataUserInfos);
JSONObject jsonObject = new JSONObject();
jsonObject.put("activityId", activityId);
jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId());
jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response = dataApi.getBodyInJSON();
return response;
}
/**
* @param
* @description:失效秒杀活动
* @author: yangjian
* @param activityId 活动ID
**/
public JSONObject studioSeckillInvalid(String activityId, DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Polar_Card)
.setApiName("API_studioSeckill_invalid")
.setTerminal(Terminal.B);
super.beforeDataRequest(dataUserInfos);
JSONObject jsonObject = new JSONObject();
jsonObject.put("activityId", activityId);
jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId());
jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response = dataApi.getBodyInJSON();
return response;
}
/**
* @param
* @description:删除秒杀活动
* @author: yangjian
* @param activityId 活动ID
**/
public JSONObject studioSeckillDeleteById(String activityId, DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Polar_Card)
.setApiName("API_studioSeckill_deleteById")
.setTerminal(Terminal.B);
super.beforeDataRequest(dataUserInfos);
JSONObject jsonObject = new JSONObject();
jsonObject.put("activityId", activityId);
jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId());
jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response = dataApi.getBodyInJSON();
return response;
}
/**
* @param
* @description:查看秒杀活动数据
* @author: yangjian
* @param activityId 活动ID
**/
public JSONObject getStatisticsData(String activityId, DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Polar_Card)
.setApiName("API_getStatisticsData")
.setTerminal(Terminal.B);
super.beforeDataRequest(dataUserInfos);
JSONObject jsonObject = new JSONObject();
jsonObject.put("activityId", activityId);
jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId());
jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response = dataApi.getBodyInJSON();
return response;
}
/**
* @param
* @description:查看秒杀活动数据
* @author: yangjian
* @param activityId 活动ID
* @param supplierId
**/
public JSONObject pageVoucher(String activityId,String supplierId,DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Polar_Card)
.setApiName("API_pageVoucher")
.setTerminal(Terminal.B);
super.beforeDataRequest(dataUserInfos);
//List<String> states = new ArrayList<>();
//states.add(state);
JSONObject jsonObject = new JSONObject();
jsonObject.put("current", 0);
jsonObject.put("size", 20);
jsonObject.put("supplierId", supplierId);//取活动详情的sourceId
//jsonObject.put("states", states);//WAITING"待支付, "ARREARS"部分支付, "CANCEL"、"TIMEOUT"已取消 ,"PAID"已完成 "DISCARD"已作废
jsonObject.put("activityId", activityId);
jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId());
jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response = dataApi.getBodyInJSON();
return response;
}
}
package com.xiaomai.cases.polar.memberCard.MemberCardTimeSale;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.basetest.BaseTestImpl;
import com.xiaomai.cases.polar.memberCard.CardTools;
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 com.xiaomai.utils.XMJSONPath;
import org.testng.Assert;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import javax.annotation.Resource;
public class TestPublish extends BaseTestImpl {
@Resource(name = "cardTools")
CardTools cardTools;
@Resource(name = "memberCardTimeSaleTools")
MemberCardTimeSaleTools MemberCardTimeSaleTools;
@BeforeClass
@Override
public void beforeTest() {
setTestInfo(ApiModule.Polar_Card, "API_studioSeckill_publish", LoginAccount.ADU_PROD, Terminal.B, "yangjian");
super.beforeTest();
}
@Test(description = "发布秒杀活动动")
public void testStudioSeckill_publish() throws InterruptedException {
Thread.sleep(2000);
String cardId = cardTools.memberCardCreate("用于秒杀活动的会员卡"+ TimeUtils.getCurrentTime()).getString("result");//创建一张用于秒杀活动的会员卡
String title ="未发布的秒杀活动"+ TimeUtils.getCurrentTime();
JSONObject result1 =MemberCardTimeSaleTools.getStudioActivityPage("UNPUBLISHED");//未发布条数;
int before=Integer.parseInt(result1.getJSONObject("result").getString("total"));
String activeid = MemberCardTimeSaleTools.create(cardId,title,false).getString("result");//创建一个未发布的秒杀活动
JSONObject result2 =MemberCardTimeSaleTools.getStudioActivityPage("UNPUBLISHED");//未发布条数;
int after=Integer.parseInt(result2.getJSONObject("result").getString("total"));
Assert.assertEquals(after,before+1);//未发布活动+1
MemberCardTimeSaleTools.getStudioActivityById(activeid);
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(), "$.result.state"), "UNPUBLISHED", "目标活动非未发布状态");//断言目标活动非发布状态
JSONObject jsonObject = new JSONObject();
jsonObject.put("activityId",activeid);
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);
JSONObject result3 =MemberCardTimeSaleTools.getStudioActivityPage("UNPUBLISHED");//未发布条数;
int after2=Integer.parseInt(result3.getJSONObject("result").getString("total"));
Assert.assertEquals(after2,after-1);//未发布活动-1
MemberCardTimeSaleTools.getStudioActivityById(activeid);
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(), "$.result.state"), "PROCESSING", "目标活动非进行中状态");//断言目标活动进行中状态
MemberCardTimeSaleTools.studioSeckillDeleteById(activeid);//删除秒杀活动
}
}
package com.xiaomai.cases.polar.memberCard.MemberCardTimeSale;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.basetest.BaseTestImpl;
import com.xiaomai.cases.polar.finance.order.OrderTools;
import com.xiaomai.cases.polar.memberCard.CardTools;
import com.xiaomai.cases.polar.studioConfig.MerchantTools;
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 com.xiaomai.utils.XMBaseTest;
import com.xiaomai.utils.XMJSONPath;
import org.testng.Assert;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
public class Testflashsaleedit extends BaseTestImpl {
@Resource(name = "cardTools")
CardTools cardTools;
@Resource(name = "memberCardTimeSaleTools")
MemberCardTimeSaleTools MemberCardTimeSaleTools;
@BeforeClass
@Override
public void beforeTest() {
setTestInfo(ApiModule.Polar_Card, "API_flashsaleedit", LoginAccount.ADU_PROD, Terminal.B, "yangjian");
super.beforeTest();
}
@Test(description = "编辑秒杀活动动")
public void testFlashsaleedit() throws InterruptedException {
Thread.sleep(2000);
String cardId = cardTools.memberCardCreate("用于秒杀活动的会员卡"+ TimeUtils.getCurrentTime()).getString("result");//创建一张用于秒杀活动的会员卡
JSONObject result =MemberCardTimeSaleTools.getStudioActivityPage1("");//所有活动条数;
int beforecount=Integer.parseInt(result.getJSONObject("result").getString("total"));
String title ="秒杀活动"+ TimeUtils.getCurrentTime();
String activeid = MemberCardTimeSaleTools.create(cardId,title,true).getString("result");//创建并发布一个秒杀活动
JSONObject result1 =MemberCardTimeSaleTools.getStudioActivityPage1("");//所有活动条数;
int aftercount1=Integer.parseInt(result1.getJSONObject("result").getString("total"));
Assert.assertEquals(aftercount1,beforecount+1);//创建秒杀活动后,秒杀活动列表+1
Assert.assertTrue(XMJSONPath.readPath(MemberCardTimeSaleTools.getStudioActivityPage("PROCESSING"),"$.result.records[0].activityId").equals(activeid),"活动列表非创建活动");//创建活动后断言,列表第一条进行中数据为新建活动
Assert.assertTrue(XMJSONPath.readPath(MemberCardTimeSaleTools.getStudioActivityPage1(title),"$.result.records[0].activityName").equals(title),"搜索结果非新建活动");//创建活动后断言,列表能正常搜索道
JSONObject jsonObject = new JSONObject();//修改活动名称+修改活动剩余库存数量
List<String> applyMemberStates = new ArrayList<>();
applyMemberStates.add("POTENTIAL");
applyMemberStates.add("NORMAL");
applyMemberStates.add("HISTORY");
jsonObject.put("activityName", "编辑后的秒杀活动");
jsonObject.put("activityType", "SECKILL");//活动类型为秒杀
jsonObject.put("endTime", TimeUtils.getTodayEndTime());//活动结束时间为今天24点
jsonObject.put("startTime", TimeUtils.getTodayTime());//活动开始时间为今天0点
jsonObject.put("applyMemberStates", applyMemberStates);//活动可参与用户
jsonObject.put("autoCancelMinutes", "5");//自动取消订单时间
jsonObject.put("commodityId", cardId);//活动的会员卡商品
jsonObject.put("commodityType", "MEMBER_CARD");//商品类型,目前仅有会员卡
jsonObject.put("initSalesVolumeShow", "10");//初始秒杀数量显示
jsonObject.put("purchaseNumberLimit", -1);//购买数量限制:不限制
jsonObject.put("reserveReminder", true);//秒杀数量是否展示
jsonObject.put("specialPrice", "0");//秒杀价格0元
jsonObject.put("publish", "true");//是否发布
jsonObject.put("stock", "11");//库存数
jsonObject.put("activityId",activeid);
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);
MemberCardTimeSaleTools.getStudioActivityById(activeid);
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(), "$.result.activityName"), "编辑后的秒杀活动", "目标活动没有修改成功");//断言目标活动名字变更
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(), "$.result.stock"), "11", "目标活动库存数没有修改成功");//断言目标活动库存数量变更
MemberCardTimeSaleTools.getStatisticsData(activeid);//查看活动数据
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(), "$.result.totalStock"), "11", "目标活动库存数没有修改成功");//断言目标活动库存数量变更
MemberCardTimeSaleTools.getStudioActivityById(activeid);
String supplierId=XMJSONPath.readPath(dataApi.getApi_response(),"$.result.sourceId");//获取supplierId
MemberCardTimeSaleTools.pageVoucher(activeid,supplierId);//查看活动详情-订单数据
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(), "$success"), "true", "活动详情订单数据没有访问成功");
JSONObject result2 =MemberCardTimeSaleTools.getStudioActivityPage("ABNORMAL");//所有活动条数;
int count1=Integer.parseInt(result2.getJSONObject("result").getString("total"));
MemberCardTimeSaleTools.studioSeckillInvalid(activeid);//失效活动
JSONObject result3 =MemberCardTimeSaleTools.getStudioActivityPage("ABNORMAL");//活动后活动条数
int count2=Integer.parseInt(result3.getJSONObject("result").getString("total"));
Assert.assertEquals(count2,count1+1);//失效活动+1
MemberCardTimeSaleTools.getStudioActivityById(activeid);
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(), "$.result.state"), "ABNORMAL", "目标活动没有失效状态");//断言目标活动变成失效状态
MemberCardTimeSaleTools.studioSeckillDeleteById(activeid);//删除秒杀活动
JSONObject result4 =MemberCardTimeSaleTools.getStudioActivityPage1("");//删除活动后活动条数
int aftercount2=Integer.parseInt(result4.getJSONObject("result").getString("total"));
Assert.assertEquals(aftercount2,aftercount1-1);//删除秒杀活动后,秒杀活动列表-1
}
}
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