🧪 test(测试用例): 学宫

This commit is contained in:
zhangxk
2023-09-21 20:56:15 +08:00
parent e517a34d96
commit a88d48e34b
2 changed files with 157 additions and 83 deletions

View File

@@ -37,38 +37,112 @@ describe('稷下学宫测试', function () {
// it('getData', function (done) {
// pinusClient.request('battle.rougeHandler.getData', {}, (res) => {
// console.log("res:", res)
// done();
// });
// });
// it('getGame', function (done) {
// pinusClient.request('battle.rougeHandler.getGame', {}, (res) => {
// console.log('-x-x--x-x-x-x-x-x-x-x-x- res', util.inspect(res, { depth: null }));
// done();
// });
// });
it('getInitCharaCard', function (done) {
pinusClient.request('battle.rougeHandler.getInitCharaCard', { type: 2, grade: 1 }, (res) => {
console.log('-x-x--x-x-x-x-x-x-x-x-x- res', util.inspect(res, { depth: null }));
it('获取大界面', function (done) {
pinusClient.request('battle.rougeHandler.getData', {}, (res) => {
// console.log('-x-x--x-x-x-x-x-x-x-x-x- res', util.inspect(res, { depth: null }));
done();
});
});
// it('startGame', function (done) {
// pinusClient.request('battle.rougeHandler.startGame', { gameCode: 'MkSLT1HY', authorType: 1 }, (res) => {
it('获取一场进行中游戏数据', function (done) {
pinusClient.request('battle.rougeHandler.getGame', {}, (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('battle.rougeHandler.getInitCharaCard', { type: 1, grade: 1 }, (res) => {
pinusClient.request('battle.rougeHandler.startGame', { gameCode: res.data.gameCode, authorType: 1 }, (res) => {
done();
});
// console.log('-x-x--x-x-x-x-x-x-x-x-x- res', util.inspect(res, { depth: null }));
});
});
async function someAsyncOperation(route: string, param: any) {
let ret: any = new Promise((resolve, reject) => {
pinusClient.request(route, param, (result) => {
resolve({ ...result });
});
});
return ret;
}
it('开始游戏', async function () {
const result1: any = await someAsyncOperation('battle.rougeHandler.getGame', {});
console.log('获取游戏数据battle.rougeHandler.getGame', result1.msg);
const gameCode: string = result1.data.gameCode;
const nodes = result1.data.nodes;
const charas = result1.data.charas;
const charaCodes: string[] = [charas[0].charaCode];
for (let { layer, layerNodes } of nodes) {
let detailCode = layerNodes[0].detailCode;
let nodeType = layerNodes[0].type;
const result2: any = await someAsyncOperation('battle.rougeHandler.chooseNode', { gameCode, layer, detailCode });
console.log('选择节点battle.rougeHandler.chooseNode', result2.msg);
let chooseNodeData = result2.data;
const rewards = chooseNodeData.curNode?.reward?.rewards;
const warId = chooseNodeData.curNode?.warId;
const shops = chooseNodeData.curNode?.shops;
if (warId) {
const result3: any = await someAsyncOperation('battle.rougeHandler.checkBattle', { gameCode, detailCode, warId, charaCodes })
console.log('检测挑战battle.rougeHandler.checkBattle', result3.msg);
const battleCode: string = result2.data.battleCode;
const status: number = 1;
const round: number = 10;
const rougeDamage = [{
charaCode: charas[0].charaCode, hp: charas[0].hp / 2,
shield: charas[0].shield, other: '', damage: 100,
heal: 1, unserDamage: 100, isAp: true, isRound: true,
}]
const result4: any = await someAsyncOperation('battle.rougeHandler.battleEnd', { gameCode, detailCode, battleCode, warId, status, round, rougeDamage })
console.log('挑战结算battle.rougeHandler.battleEnd', result4.msg);
for (let { groupIndex, groupStatus, chooseNum, options } of rewards) {
let optionIndexs: number[] = [];
let alreadyNum = 0;
for (let { optionIndex, optionGroup } of options) {
if (optionGroup == 1) alreadyNum += 1;
if (optionIndexs.length == chooseNum) continue;
optionIndexs.push(optionIndex);
}
if (alreadyNum < chooseNum) {
const result5: any = await someAsyncOperation('battle.rougeHandler.chooseReward', { gameCode, detailCode, groupIndex, optionIndexs })
console.log('领取奖励battle.rougeHandler.chooseReward', result5.msg);
}
}
}
// 商店
if (shops && shops.length > 0) {
const result6: any = await someAsyncOperation('battle.rougeHandler.shopBuy', { gameCode, detailCode, optionIndex: shops[0].optionIndex })
console.log('商店购买battle.rougeHandler.shopBuy', result6.msg);
}
//休整点
if (nodeType == 5) {
//恢复
const result7: any = await someAsyncOperation('battle.rougeHandler.recovery', { gameCode, detailCode })
console.log('休整点battle.rougeHandler.recovery', result7.msg);
//招募
//强化
}
//TODO
}
const result: any = await someAsyncOperation('battle.rougeHandler.gameEnd', { gameCode })
console.log('游戏结算battle.rougeHandler.gameEnd', result.msg);
})
// done();
// });
// });
// it('chooseNode', function (done) {
@@ -81,7 +155,7 @@ describe('稷下学宫测试', function () {
// it('gameEnd', function (done) {
// pinusClient.request('battle.rougeHandler.gameEnd', { gameCode: 'voe64495' }, (res) => {
// pinusClient.request('battle.rougeHandler.gameEnd', { gameCode: 'ZgaiZuom' }, (res) => {
// console.log('-x-x--x-x-x-x-x-x-x-x-x- res', util.inspect(res, { depth: null }));
// done();
// });
@@ -175,4 +249,4 @@ describe('稷下学宫测试', function () {
// }
});
});

View File

@@ -38,64 +38,64 @@ describe('任务测试', function () {
done();
});
it('检查领取主线任务', function (done) {
const type = TASK_FUN_TYPE.MAIN;
// 完成所有主线任务
pinusClient.request('role.taskHandler.debugRefTask', { magicWord: DEBUG_MAGIC_WORD, type }, (res) => {
checkSuccessResponse(res);
pinusClient.request('role.taskHandler.debugCompleteMainStage', { magicWord: DEBUG_MAGIC_WORD, type }, (res) => {
checkSuccessResponse(res);
expect(res.data.mainTask.taskList).to.be.an('array');
expect(res.data.mainTask.stage).to.be.a('number');
let promiseFuns = res.data.mainTask.taskList.map(task => {
return receiveTaskPromise(pinusClient, { type, id: task.id });
});
Promise.all(promiseFuns).then(() => {
pinusClient.request('role.taskHandler.receiveMainStage', { stage: res.data.mainTask.stage }, (res) => {
checkSuccessResponse(res);
checkMainTask(res.data);
checkDisplayItems(res.data.goods);
done();
})
})
});
// it('检查领取主线任务', function (done) {
// const type = TASK_FUN_TYPE.MAIN;
// // 完成所有主线任务
// pinusClient.request('role.taskHandler.debugRefTask', { magicWord: DEBUG_MAGIC_WORD, type }, (res) => {
// checkSuccessResponse(res);
// pinusClient.request('role.taskHandler.debugCompleteMainStage', { magicWord: DEBUG_MAGIC_WORD, type }, (res) => {
// checkSuccessResponse(res);
// expect(res.data.mainTask.taskList).to.be.an('array');
// expect(res.data.mainTask.stage).to.be.a('number');
// let promiseFuns = res.data.mainTask.taskList.map(task => {
// return receiveTaskPromise(pinusClient, { type, id: task.id });
// });
// Promise.all(promiseFuns).then(() => {
// pinusClient.request('role.taskHandler.receiveMainStage', { stage: res.data.mainTask.stage }, (res) => {
// checkSuccessResponse(res);
// checkMainTask(res.data);
// checkDisplayItems(res.data.goods);
// done();
// })
// })
// });
});
});
it('检查领取每日任务', function (done) {
checkReceiveTask(pinusClient, done, TASK_FUN_TYPE.DAILY);
});
it('检查领取成就', function (done) {
checkReceiveTask(pinusClient, done, TASK_FUN_TYPE.ACHIEVEMENT);
});
it('领取每日活跃奖励', function (done) {
const type = TASK_FUN_TYPE.DAILY;
// 完成所有主线任务
pinusClient.request('role.taskHandler.debugRefTask', { magicWord: DEBUG_MAGIC_WORD, type }, (res) => {
checkSuccessResponse(res);
pinusClient.request('role.taskHandler.debugIncPoint', { magicWord: DEBUG_MAGIC_WORD, type, point: 500 }, (res) => {
checkSuccessResponse(res);
pinusClient.request('role.taskHandler.receiveActiveReward', {}, (res) => {
checkSuccessResponse(res);
expect(res.data.point).to.be.a('number');
checkDisplayItems(res.data.goods);
done();
})
});
// });
// });
// it('检查领取每日任务', function (done) {
// checkReceiveTask(pinusClient, done, TASK_FUN_TYPE.DAILY);
// });
// it('检查领取成就', function (done) {
// checkReceiveTask(pinusClient, done, TASK_FUN_TYPE.ACHIEVEMENT);
// });
// it('领取每日活跃奖励', function (done) {
// const type = TASK_FUN_TYPE.DAILY;
// // 完成所有主线任务
// pinusClient.request('role.taskHandler.debugRefTask', { magicWord: DEBUG_MAGIC_WORD, type }, (res) => {
// checkSuccessResponse(res);
// pinusClient.request('role.taskHandler.debugIncPoint', { magicWord: DEBUG_MAGIC_WORD, type, point: 500 }, (res) => {
// checkSuccessResponse(res);
// pinusClient.request('role.taskHandler.receiveActiveReward', {}, (res) => {
// checkSuccessResponse(res);
// expect(res.data.point).to.be.a('number');
// checkDisplayItems(res.data.goods);
// done();
// })
// });
});
});
it('检查领取pvp任务', function (done) {
checkReceiveTask(pinusClient, done, TASK_FUN_TYPE.PVP);
});
// });
// });
// it('检查领取pvp任务', function (done) {
// checkReceiveTask(pinusClient, done, TASK_FUN_TYPE.PVP);
// });
it('领取每周活跃奖励', function (done) {
checkReceiveBox(pinusClient, done, TASK_FUN_TYPE.DAILY)
});
// it('领取每周活跃奖励', function (done) {
// checkReceiveBox(pinusClient, done, TASK_FUN_TYPE.DAILY)
// });
it('领取成就积分宝箱', function (done) {
checkReceiveBox(pinusClient, done, TASK_FUN_TYPE.ACHIEVEMENT)
});
// it('领取成就积分宝箱', function (done) {
// checkReceiveBox(pinusClient, done, TASK_FUN_TYPE.ACHIEVEMENT)
// });
});
function receiveTaskPromise(pinusClient, param) {