diff --git a/game-server/test/rouge.test.ts b/game-server/test/rouge.test.ts index 5f6fc7781..422fcc140 100644 --- a/game-server/test/rouge.test.ts +++ b/game-server/test/rouge.test.ts @@ -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 () { // } -}); +}); \ No newline at end of file diff --git a/game-server/test/task.test.ts b/game-server/test/task.test.ts index 79b800d89..b5b7707ab 100644 --- a/game-server/test/task.test.ts +++ b/game-server/test/task.test.ts @@ -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) {