测试:添加活动测试用例

This commit is contained in:
qiaoxin
2021-07-09 17:48:24 +08:00
parent 73f23a43c7
commit 551591e260
4 changed files with 257 additions and 4 deletions

View File

@@ -24,7 +24,7 @@ export class ActivityHandler {
* @param {BackendSession} session
* @memberof ActivityHandler
*/
async getAllOpenActivity(msg: { hid: number, lv: number }, session: BackendSession) {
async getAllOpenActivity(msg: {}, session: BackendSession) {
const { } = msg;
const roleId = session.get('roleId');
const serverId = session.get('serverId');
@@ -93,9 +93,19 @@ export class ActivityHandler {
//aesEncryptcfb
console.log('13121622738', await aesEncryptcfb("13121622738", ENCRYPT_KEY, ENCRYPT_IV))
//18612532385:cc80b189dc03cff31fe75d
//13636354764:cc8bb18bd805c9f51be95c
//13636354764:cc8bb18bd805c9f51be95c,Z6ArLdom2c
//13121622738:cc8bb68adf00cef31bec50
return resResult(STATUS.SUCCESS,);
}
async debugActivityByType(msg: { type: number }, session: BackendSession) {
const { type } = msg;
const roleId = session.get('roleId');
const serverId = session.get('serverId');
const sid: string = session.get('sid');
const funcs: number[] = session.get('funcs');
let activityData = await ActivityModel.debugFindActivityByType(type);
return resResult(STATUS.SUCCESS, activityData);
}
}

View File

@@ -25,8 +25,8 @@ export class ActivityMonopolyHandler {
* @param {BackendSession} session
* @memberof ActivityMonopolyHandler
*/
async getMonopolyActivity(msg: { activityId: number, position: number }, session: BackendSession) {
const { activityId, position } = msg;
async getMonopolyActivity(msg: { activityId: number }, session: BackendSession) {
const { activityId } = msg;
const roleId = session.get('roleId');
const serverId = session.get('serverId');
const sid: string = session.get('sid');

View File

@@ -0,0 +1,237 @@
import 'mocha';
import { PinusWSClient } from 'pinus-robot-plugin';
import { expect } from 'chai';
import { Client } from './Client';
import { checkSuccessResponse } from './CheckPatten';
import { ACTIVITY_TYPE, CURRENCY_BY_TYPE, CURRENCY_TYPE, STATUS } from '../app/consts';
describe('活动测试', function () {
let pinusClient: PinusWSClient;
let playerGroupArray: [] = [];
let activityId: number = 0;
before(function (done) {
const c = new Client();
const timer = setInterval(() => {
if (c.client) {
pinusClient = c.client;
clearInterval(timer);
done();
}
}, 500);
});
after(function (done) {
pinusClient.disconnect();
done();
});
it('获取所有活动', function (done) {
pinusClient.request('activity.activityHandler.getAllOpenActivity', {}, (res) => {
checkSuccessResponse(res);
playerGroupArray = res.data.playerGroupArray;
console.log(`${playerGroupArray.length}个合集数据`)
done();
});
});
it('签到活动-活动数据', function (done) {
checkActivityData(pinusClient, 'activity.signInHandler.getSignInActivity', ACTIVITY_TYPE.SIGN_IN, done);
});
it('签到活动(高级)-活动数据', function (done) {
checkActivityData(pinusClient, 'activity.signInHandler.getSignInActivity', ACTIVITY_TYPE.SIGN_IN_VIP, done);
});
it('主线成长基金-活动数据', function (done) {
checkActivityData(pinusClient, 'activity.growthFundHandler.getGrowthFundActivity', ACTIVITY_TYPE.GROWTH_FUND_MAIN, done);
});
it('主线成长基金高阶-活动数据', function (done) {
checkActivityData(pinusClient, 'activity.growthFundHandler.getGrowthFundActivity', ACTIVITY_TYPE.GROWTH_FUND_MAIN_VIP, done);
});
it('镇念塔成长基金-活动数据', function (done) {
checkActivityData(pinusClient, 'activity.growthFundHandler.getGrowthFundActivity', ACTIVITY_TYPE.GROWTH_FUND_TOWER, done);
});
it('镇念塔成长基金高阶-活动数据', function (done) {
checkActivityData(pinusClient, 'activity.growthFundHandler.getGrowthFundActivity', ACTIVITY_TYPE.GROWTH_FUND_TOWER_VIP, done);
});
it('精英成长基金-活动数据', function (done) {
checkActivityData(pinusClient, 'activity.growthFundHandler.getGrowthFundActivity', ACTIVITY_TYPE.GROWTH_FUND_MAIN_ELITE, done);
});
it('精英成长基金高阶-活动数据', function (done) {
checkActivityData(pinusClient, 'activity.growthFundHandler.getGrowthFundActivity', ACTIVITY_TYPE.GROWTH_FUND_MAIN_ELITE_VIP, done);
});
it('30日目标活动-活动数据', function (done) {
checkActivityData(pinusClient, 'activity.thirtyDaysHandler.getThirtyDaysActivity', ACTIVITY_TYPE.THIRTY_DAYS, done);
});
it('自选商店-活动数据', function (done) {
checkActivityData(pinusClient, 'activity.selfServiceShopHandler.getSelfServiceShopActivity', ACTIVITY_TYPE.SELF_SERVICE_SHOP, done);
});
it('首充礼包-活动数据', function (done) {
checkActivityData(pinusClient, 'activity.firstGiftHandler.getFirstGiftActivity', ACTIVITY_TYPE.FIRST_GIFT, done);
});
it('新手限定RMB购买礼包-活动数据', function (done) {
checkActivityData(pinusClient, 'activity.limitPackageHandler.getNewPlayerLimitPackageActivity', ACTIVITY_TYPE.NEW_PLAYER_LIMIT_PACKAGE, done);
});
it('每日限购礼包-活动数据', function (done) {
checkActivityData(pinusClient, 'activity.limitPackageHandler.getLimitPackageActivity', ACTIVITY_TYPE.LIMIT_PACKAGE_SHOP_DAILY, done);
});
it('每周限购礼包-活动数据', function (done) {
checkActivityData(pinusClient, 'activity.limitPackageHandler.getLimitPackageActivity', ACTIVITY_TYPE.LIMIT_PACKAGE_SHOP_WEEKLY, done);
});
it('元宝充值商店-活动数据', function (done) {
checkActivityData(pinusClient, 'activity.yuanbaoShopHandler.getShopActivity', ACTIVITY_TYPE.YUAN_BAO_SHOP, done);
});
it('月卡1普通-活动数据', function (done) {
checkActivityData(pinusClient, 'activity.monthlyTicketHandler.getMonthlyTicketActivity', ACTIVITY_TYPE.MONTHLY_TICKET_1, done);
});
it('月卡2至尊-活动数据', function (done) {
checkActivityData(pinusClient, 'activity.monthlyTicketHandler.getMonthlyTicketActivity', ACTIVITY_TYPE.MONTHLY_TICKET_2, done);
});
it('累计充值RMB活动-活动数据', function (done) {
checkActivityData(pinusClient, 'activity.rechargeMoneyHandler.getRechargeMoneyActivity', ACTIVITY_TYPE.RECHARGE_MONEY, done);
});
it('每日特惠RMB购买-活动数据', function (done) {
checkActivityData(pinusClient, 'activity.dailyRMBGiftsHandler.getDailyRMBGiftsActivity', ACTIVITY_TYPE.DAILY_RMB_GIFTS, done);
});
it('寻宝骑兵活动-活动数据', function (done) {
checkActivityData(pinusClient, 'activity.treasureHuntHandler.getTreasureHuntActivity', ACTIVITY_TYPE.TREASURE_HUNT, done);
});
it('弹出商店-活动数据', function (done) {
checkActivityData(pinusClient, 'activity.popUpShopHandler.getPopUpShopActivity', ACTIVITY_TYPE.POP_UP_SHOP, done);
});
it('新手签到活动-活动数据', function (done) {
checkActivityData(pinusClient, 'activity.signInHandler.getSignInActivity', ACTIVITY_TYPE.NEW_PLAYER_SIGN_IN, done);
});
it('vip累计充值RMB活动-活动数据', function (done) {
checkActivityData(pinusClient, 'activity.vipRechargeMoneyHandler.getVipRechargeMoneyActivity', ACTIVITY_TYPE.VIP_RECHARGE_MONEY, done);
});
it('通用七天乐活动-活动数据', function (done) {
checkActivityData(pinusClient, 'activity.sevenDaysHandler.getSevenDaysActivity', ACTIVITY_TYPE.COMMON_SEVEN_DAY, done);
});
it('每日领取免费午饭、晚饭-活动数据', function (done) {
checkActivityData(pinusClient, 'activity.dailyMealHandler.getDailyMealActivity', ACTIVITY_TYPE.DAILY_MEAL, done);
});
it('每日兑换铜钱-活动数据', function (done) {
checkActivityData(pinusClient, 'activity.dailyCoinHandler.getDailyCoinActivity', ACTIVITY_TYPE.DAILY_COIN, done);
});
it('每日关卡-活动数据', function (done) {
checkActivityData(pinusClient, 'activity.dailyGKHandler.getDailyGKActivity', ACTIVITY_TYPE.DAILY_GK, done);
});
it('通用的刷新商店-活动数据', function (done) {
checkActivityData(pinusClient, 'activity.refreshShopHandler.getRefreshShopActivity', ACTIVITY_TYPE.REFRESH_SHOP, done);
});
it('通用的刷新任务-活动数据', function (done) {
checkActivityData(pinusClient, 'activity.refreshTaskHandler.getRefreshTaskActivity', ACTIVITY_TYPE.REFRESH_TASK, done);
});
it('大富翁-活动数据', function (done) {
checkActivityData(pinusClient, 'activity.activityMonopolyHandler.getMonopolyActivity', ACTIVITY_TYPE.MONOPOLY, done);
});
it('大富翁-移动', function (done) {
if (activityId) {
requestActivity(pinusClient, 'role.heroHandler.addItem', { id: CURRENCY_BY_TYPE.get(CURRENCY_TYPE.SPECIAL_DICE), count: 1 })
.then((data: any) => {
checkSuccessResponse(data);
return requestActivity(pinusClient, 'activity.activityMonopolyHandler.move', { activityId: activityId, step: 1 })
})
.then((data: any) => {
checkSuccessResponse(data);
done()
})
} else {
noActivityData(done);
}
});
it('通用签到-活动数据', function (done) {
checkActivityData(pinusClient, 'activity.signInHandler.getSignInActivity', ACTIVITY_TYPE.COMMON_SIGN_IN, done);
});
it('新将好礼-活动数据', function (done) {
checkActivityData(pinusClient, 'activity.newHeroGiftsHandler.getNewHeroGiftsActivity', ACTIVITY_TYPE.NEW_HERO_GIFTS, done);
});
it('新将演绎-活动数据', function (done) {
checkActivityData(pinusClient, 'activity.newHeroGKHandler.getNewHeroGKActivity', ACTIVITY_TYPE.NEW_HERO_GK, done);
});
it('新将擢迁(新武将抽卡)-活动数据', function (done) {
checkActivityData(pinusClient, 'activity.newHeroGachaHandler.getNewHeroGachaActivity', ACTIVITY_TYPE.NEW_HERO_GACHA, done);
});
function checkActivityData(pinusClient, url, type, done) {
try {
requestActivity(pinusClient, 'activity.activityHandler.debugActivityByType', { type })
.then((data: any) => {
if (data.data) {
checkSuccessResponse(data);
return data.data
} else {
return null;
}
})
.then((activityData: any) => {
if (activityData && activityData.activityId) {
activityId = activityData.activityId;
// console.log('activityId', activityData.activityId)
return requestActivity(pinusClient, url, { activityId: activityData.activityId });
} else {
noActivityData(done);
}
})
.then((data: any) => {
if (data.code == STATUS.ACTIVITY_CLOSED.code || data.code == STATUS.ACTIVITY_NEW_PLAYER_GIFT_END.code) {//活动正常关闭
done()
} else {
checkSuccessResponse(data);
done()
}
})
} catch (error) {
console.log('error', error)
}
}
function noActivityData(done) {
console.warn('没有此活动数据');
activityId = 0;
done()
}
function requestActivity(pinusClient, route: string, msg: any) {
return new Promise(resolve => {
pinusClient.request(route, msg, (res) => {
resolve(res);
});
})
}
});

View File

@@ -56,6 +56,12 @@ export default class Activity extends BaseModel {
return result;
}
//debug测试用接口
public static async debugFindActivityByType(type: number) {
let result: ActivityModelType[] = await ActivityModel.findOne({ type }).lean(true);
return result;
}
//根据活动id查询活动数据
public static async findActivity(activityId: number) {
let result: ActivityModelType = await ActivityModel.findOne({ activityId }).lean(true);