273 lines
11 KiB
TypeScript
273 lines
11 KiB
TypeScript
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, DEBUG_MAGIC_WORD, STATUS } from '../app/consts';
|
||
import * as util from 'util';
|
||
|
||
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) {
|
||
// pinusClient.request('activity.growthFundHandler.getGrowthFundActivity', { activityId: 1300 }, (res) => {
|
||
// console.log('-x-x--x-x-x-x-x-x-x-x-x- res', util.inspect(res, { depth: null }));
|
||
// done();
|
||
// });
|
||
// });
|
||
|
||
// it('获得祈灵活动数据', function (done) {
|
||
// pinusClient.request('activity.authorGachaHandler.getData', { activityId: 1296 }, (res) => {
|
||
// console.log('-x-x--x-x-x-x-x-x-x-x-x- res', util.inspect(res, { depth: null }));
|
||
// done();
|
||
// });
|
||
// });
|
||
|
||
|
||
// it('获得祈灵活动数据', function (done) {
|
||
// pinusClient.request('activity.gachaHandler.pull', { activityId: 1296, gachaId: 12, count: 1 }, (res) => {
|
||
// console.log('-x-x--x-x-x-x-x-x-x-x-x- res', util.inspect(res, { depth: null }));
|
||
// done();
|
||
// });
|
||
// });
|
||
|
||
// it('获得祈灵活动数据', function (done) {
|
||
// pinusClient.request('activity.authorGachaHandler.receiveBox', { activityId: 1296, count: 100000 }, (res) => {
|
||
// console.log('-x-x--x-x-x-x-x-x-x-x-x- res', util.inspect(res, { depth: null }));
|
||
// 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.skip('自选商店-活动数据', 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.skip('新手限定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.skip('寻宝骑兵活动-活动数据', 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.NORMAL_DICE), count: 1 })
|
||
// .then((data: any) => {
|
||
// checkSuccessResponse(data);
|
||
// return requestActivity(pinusClient, 'activity.activityMonopolyHandler.move', { activityId: activityId, step: 0 })
|
||
// })
|
||
// .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);
|
||
// });
|
||
|
||
// // 未找到该接口,暂时skip
|
||
// it.skip('新将擢迁(新武将抽卡)-活动数据', function (done) {
|
||
// checkActivityData(pinusClient, 'activity.newHeroGachaHandler.getNewHeroGachaActivity', ACTIVITY_TYPE.NEW_HERO_GACHA, done);
|
||
// });
|
||
|
||
function checkActivityData(pinusClient, url, type, done) {
|
||
try {
|
||
requestActivity(pinusClient, 'activity.activityHandler.debugActivityMemory', { magicWord: DEBUG_MAGIC_WORD })
|
||
.then((data: any) => {
|
||
if (data.data) {
|
||
checkSuccessResponse(data);
|
||
expect(data.data.activities).to.be.an('array');
|
||
let activitiesByType = data.data.activities.filter(activity => {
|
||
return activity && activity[1] && activity[1].type == type;
|
||
});
|
||
return activitiesByType
|
||
} else {
|
||
return null;
|
||
}
|
||
})
|
||
.then((activityData: any) => {
|
||
expect(activityData).to.be.an('array');
|
||
if (activityData.length > 0) {
|
||
return requestActivity(pinusClient, url, { activityId: activityData[0][1].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);
|
||
});
|
||
})
|
||
}
|
||
|
||
});
|