测试:添加任务测试用例

This commit is contained in:
luying
2021-04-29 21:13:23 +08:00
parent 8b07ef352e
commit 880331863f
5 changed files with 150 additions and 4 deletions

View File

@@ -6,7 +6,7 @@ import { ON_ADD_CHANNEL_ROUTE } from '../app/consts';
export class Client {
private _client;
private _roleInfo;
constructor(tel: string = '13911134885') {
constructor(tel: string = '13636354764') {
this._client = new PinusWSClient();
let host = '127.0.0.1';

View File

@@ -0,0 +1,120 @@
import { Client } from './Client';
import 'mocha';
import { PinusWSClient } from 'pinus-robot-plugin';
import { expect } from 'chai';
import { checkSuccessResponse, checkDisplayItems } from './CheckPatten';
import { DEBUG_MAGIC_WORD, AUCTION_SOURCE, CURRENCY_BY_TYPE, CURRENCY_TYPE, AUCTION_STAGE, DIVIDEND_STATUS } from '../app/consts';
import { LOT_STATUS, TASK_FUN_TYPE } from '../../shared/consts';
import { take } from 'underscore';
const GOOD_ID_TIEJIAN = 1;
const GOOD_ID_GANGJIAN = 2;
describe('任务测试', function () {
let pinusClient: PinusWSClient;
let roleInfo;
beforeEach(function (done) {
const c = new Client();
const cT = new Client('13121622738');
const timer = setInterval(() => {
if (c.client && cT.client) {
pinusClient = c.client;
roleInfo = c.roleInfo;
clearInterval(timer);
done();
}
}, 500);
});
afterEach(function (done) {
pinusClient.disconnect();
// disconnect 后等待 500ms供服务器清理环境、退出频道等
setTimeout(() => {
done();
}, 500);
});
it('检查entery中返回的任务状态', function (done) {
checkMainTask(roleInfo.mainTask);
checkDailyTask(roleInfo.dailyTask);
checkAchievement(roleInfo.achievement);
done();
});
it('检查领取主线任务', function (done) {
checkReceiveTask(pinusClient, done, TASK_FUN_TYPE.MAIN);
});
it('检查领取每日任务', function (done) {
checkReceiveTask(pinusClient, done, TASK_FUN_TYPE.DAILY);
});
it('检查领取成就', function (done) {
checkReceiveTask(pinusClient, done, TASK_FUN_TYPE.ACHIEVEMENT);
});
});
// 检查领取
function checkReceiveTask(pinusClient, done, type: number) {
// 清空任务
pinusClient.request('role.taskHandler.debugRefTask', { magicWord: DEBUG_MAGIC_WORD, type }, (res) => {
checkSuccessResponse(res);
// 完成一个任务
pinusClient.request('role.taskHandler.debugCompleteRandTask', { magicWord: DEBUG_MAGIC_WORD, type }, (res) => {
checkSuccessResponse(res);
expect(res.data.task).to.be.an('object');
expect(res.data.task.id).to.be.a('number');
pinusClient.request('role.taskHandler.receiveTask', { type, id: res.data.task.id }, (res) => {
checkSuccessResponse(res);
expect(res.data.type).to.be.a('number');
expect(res.data.id).to.be.a('number');
expect(res.data.count).to.be.a('number');
expect(res.data.received).equal(true);
expect(res.data.point).to.be.a('number');
expect(res.data.weeklyPoint).to.be.a('number');
checkDisplayItems(res.data.goods);
done();
});
});
});
}
// 检查主线任务数据
function checkMainTask(mainTask) {
expect(mainTask).to.be.an('object');
expect(mainTask.stage).to.be.a('number');
expect(mainTask.taskList).to.be.an('array');
mainTask.taskList.forEach(task => checkSingleTask(task));
}
// 检查日常任务数据
function checkDailyTask(dailyTask) {
expect(dailyTask).to.be.an('object');
expect(dailyTask.point).to.be.a('number');
expect(dailyTask.weeklyPoint).to.be.an('number');
dailyTask.taskList.forEach(task => checkSingleTask(task));
dailyTask.box.forEach(id => {
expect(id).to.be.a('number');
})
}
// 检查成就
function checkAchievement(achievement) {
expect(achievement).to.be.an('object');
expect(achievement.point).to.be.a('number');
achievement.taskList.forEach(task => checkSingleTask(task));
achievement.box.forEach(id => {
expect(id).to.be.a('number');
})
}
// 检查在taskList中的某一个任务数据
function checkSingleTask(task) {
expect(task).to.be.an('object');
expect(task.id).to.be.a('number');
expect(task.count).to.be.a('number');
expect(task.received).to.be.a('boolean');
}