277 lines
8.9 KiB
TypeScript
277 lines
8.9 KiB
TypeScript
import { Client } from './Client';
|
||
import 'mocha';
|
||
import { PinusWSClient } from 'pinus-robot-plugin';
|
||
import { expect } from 'chai';
|
||
import { checkSuccessResponse } from './CheckPatten';
|
||
import { BLOCK_OPEATE } from '../app/consts';
|
||
|
||
describe('好友测试测试', function() {
|
||
|
||
let pinusClient: PinusWSClient;
|
||
let pinusClientT: PinusWSClient; // 用做测试队友
|
||
let roleInfo;
|
||
let roleInfoT;
|
||
let applyCode;
|
||
|
||
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;
|
||
pinusClientT = cT.client;
|
||
roleInfoT = cT.roleInfo;
|
||
clearInterval(timer);
|
||
done();
|
||
}
|
||
}, 1000);
|
||
});
|
||
|
||
afterEach(function(done) {
|
||
pinusClient.disconnect();
|
||
pinusClientT.disconnect();
|
||
// disconnect 后等待 500ms,供服务器清理环境、退出频道等
|
||
setTimeout(() => {
|
||
done();
|
||
}, 500);
|
||
});
|
||
|
||
it('获取推荐列表', function(done) {
|
||
pinusClient.request('role.friendHandler.getRecommend', {} , (res) => {
|
||
checkSuccessResponse(res);
|
||
expect(res.data.list).to.be.a('array');
|
||
res.data.list.forEach(cur => {
|
||
checkFriendRecommendParams(cur);
|
||
})
|
||
done();
|
||
});
|
||
});
|
||
|
||
it('查询好友', function(done) {
|
||
pinusClient.request('role.friendHandler.searchUser', { value: roleInfoT.roleId } , (res) => {
|
||
checkSuccessResponse(res);
|
||
expect(res.data.list).to.be.a('array');
|
||
res.data.list.forEach(cur => {
|
||
checkFriendRecommendParams(cur);
|
||
})
|
||
done();
|
||
});
|
||
});
|
||
|
||
it('清空申请', function(done) {
|
||
pinusClientT.request('role.friendHandler.getApplyList', {}, (res) => {
|
||
|
||
checkSuccessResponse(res);
|
||
expect(res.data.list).to.be.a('array');
|
||
res.data.list.forEach(cur => {
|
||
checkFriendApplyParams(cur);
|
||
});
|
||
|
||
const applyCodes = res.data.list.map(apply => {
|
||
return apply.applyCode;
|
||
});
|
||
pinusClientT.request('role.friendHandler.handleApply', { applyCodeList: applyCodes, isPass: false }, (res) => {
|
||
checkSuccessResponse(res);
|
||
expect(res.data.isSuccess).to.be.a('boolean');
|
||
expect(res.data.msg).to.be.a('string');
|
||
|
||
expect(res.data.applyCodeList).to.be.a('array');
|
||
res.data.applyCodeList.forEach(cur => {
|
||
expect(cur).to.be.a('string');
|
||
})
|
||
|
||
expect(res.data.list).to.be.a('array');
|
||
res.data.list.forEach(cur => {
|
||
checkFriendListParam(cur);
|
||
});
|
||
|
||
expect(res.data.friendCnt).to.be.a('number');
|
||
done();
|
||
});
|
||
});
|
||
});
|
||
|
||
it('申请好友', function(done) {
|
||
pinusClient.request('role.friendHandler.applyFriend', { roleIds: [roleInfoT.roleId] } , (res) => {
|
||
checkSuccessResponse(res);
|
||
expect(res.data.isSuccess).to.be.a('boolean');
|
||
expect(res.data.msg).to.be.a('string');
|
||
expect(res.data.roleIds).to.be.a('array');
|
||
res.data.roleIds.forEach(cur => {
|
||
expect(cur).to.be.a('string');
|
||
})
|
||
done();
|
||
});
|
||
});
|
||
|
||
it('获取申请列表', function(done) {
|
||
pinusClientT.request('role.friendHandler.getApplyList', {} , (res) => {
|
||
|
||
checkSuccessResponse(res);
|
||
expect(res.data.list).to.be.a('array');
|
||
res.data.list.forEach(cur => {
|
||
checkFriendApplyParams(cur);
|
||
});
|
||
|
||
let apply = res.data.list.find(cur => cur.roleId == roleInfo.roleId);
|
||
applyCode = apply.applyCode;
|
||
done();
|
||
});
|
||
});
|
||
|
||
it('同意申请', function(done) {
|
||
pinusClientT.request('role.friendHandler.handleApply', { applyCodeList: [applyCode], isPass: true } , (res) => {
|
||
checkSuccessResponse(res);
|
||
expect(res.data.isSuccess).to.be.a('boolean');
|
||
expect(res.data.msg).to.be.a('string');
|
||
expect(res.data.applyCodeList).to.be.a('array');
|
||
res.data.applyCodeList.forEach(cur => {
|
||
expect(cur).to.be.a('string');
|
||
})
|
||
|
||
expect(res.data.list).to.be.a('array');
|
||
res.data.list.forEach(cur => {
|
||
checkFriendListParam(cur);
|
||
});
|
||
|
||
expect(res.data.friendCnt).to.be.a('number');
|
||
done();
|
||
});
|
||
});
|
||
|
||
it('获取好友列表', function(done) {
|
||
pinusClient.request('role.friendHandler.getFriendList', {} , (res) => {
|
||
checkSuccessResponse(res);
|
||
|
||
expect(res.data.list).to.be.a('array');
|
||
res.data.list.forEach(cur => {
|
||
checkFriendListParam(cur);
|
||
});
|
||
|
||
expect(res.data.todayReceiveCnt).to.be.a('number');
|
||
expect(res.data.todaySendCnt).to.be.a('number');
|
||
expect(res.data.friendCnt).to.be.a('number');
|
||
expect(res.data.blockCnt).to.be.a('number');
|
||
done();
|
||
});
|
||
});
|
||
|
||
it('拉黑', function(done) {
|
||
pinusClient.request('role.friendHandler.setBlackList', { roleId: roleInfoT.roleId, type: BLOCK_OPEATE.ADD } , (res) => {
|
||
expect(res.data.frdRoleIds).to.be.a('array');
|
||
res.data.frdRoleIds.forEach(cur => {
|
||
expect(cur).to.be.a('string');
|
||
});
|
||
expect(res.data.blackRoleIds).to.be.a('array');
|
||
res.data.blackRoleIds.forEach(cur => {
|
||
expect(cur).to.be.a('string');
|
||
})
|
||
|
||
expect(res.data.list).to.be.a('array');
|
||
res.data.list.forEach(cur => {
|
||
checkBlackListParam(cur);
|
||
});
|
||
|
||
expect(res.data.isSuccess).to.be.a('boolean');
|
||
expect(res.data.msg).to.be.a('string');
|
||
expect(res.data.friendCnt).to.be.a('number');
|
||
expect(res.data.blockCnt).to.be.a('number');
|
||
|
||
done();
|
||
});
|
||
});
|
||
|
||
it('获取黑名单', function(done) {
|
||
pinusClient.request('role.friendHandler.getBlackList', {} , (res) => {
|
||
|
||
expect(res.data.list).to.be.a('array');
|
||
res.data.list.forEach(cur => {
|
||
checkBlackListParam(cur);
|
||
});
|
||
expect(res.data.friendCnt).to.be.a('number');
|
||
expect(res.data.blockCnt).to.be.a('number');
|
||
|
||
done();
|
||
});
|
||
});
|
||
|
||
it('获得玩家详细信息', function(done) {
|
||
pinusClient.request('role.friendHandler.getPlayerDetail', { roleId: roleInfoT.roleId } , (res) => {
|
||
|
||
// 从黑名单移除
|
||
pinusClient.request('role.friendHandler.setBlackList', { roleId: roleInfoT.roleId, type: BLOCK_OPEATE.REMOVE_BLACK } , (res) => {
|
||
done();
|
||
});
|
||
});
|
||
});
|
||
});
|
||
|
||
function checkFriendRecommendParams(data) {
|
||
expect(data.roleId).to.be.a('string');
|
||
expect(data.roleName).to.be.a('string');
|
||
expect(data.lv).to.be.a('number');
|
||
expect(data.head).to.be.a('number');
|
||
expect(data.spine).to.be.a('number');
|
||
expect(data.frame).to.be.a('number');
|
||
expect(data.ce).to.be.a('number');
|
||
expect(data.title).to.be.a('number');
|
||
expect(data.recFrdApplyCnt).to.be.a('number');
|
||
expect(data.type).to.be.a('number');
|
||
expect(data.serverId).to.be.a('number');
|
||
expect(data.serverName).to.be.a('string');
|
||
}
|
||
|
||
function checkFriendApplyParams(data) {
|
||
expect(data.applyCode).to.be.a('string');
|
||
expect(data.roleId).to.be.a('string');
|
||
expect(data.roleName).to.be.a('string');
|
||
expect(data.lv).to.be.a('number');
|
||
expect(data.head).to.be.a('number');
|
||
expect(data.spine).to.be.a('number');
|
||
expect(data.frame).to.be.a('number');
|
||
expect(data.ce).to.be.a('number');
|
||
expect(data.title).to.be.a('number');
|
||
expect(data.friendCnt).to.be.a('number');
|
||
expect(data.type).to.be.a('number');
|
||
expect(data.serverId).to.be.a('number');
|
||
expect(data.serverName).to.be.a('string');
|
||
}
|
||
|
||
function checkFriendListParam(data) {
|
||
expect(data.roleId).to.be.a('string');
|
||
expect(data.roleName).to.be.a('string');
|
||
expect(data.lv).to.be.a('number');
|
||
expect(data.head).to.be.a('number');
|
||
expect(data.spine).to.be.a('number');
|
||
expect(data.frame).to.be.a('number');
|
||
expect(data.ce).to.be.a('number');
|
||
expect(data.title).to.be.a('number');
|
||
expect(data.guildName).to.be.a('string');
|
||
expect(data.isOnline).to.be.a('boolean');
|
||
expect(data.quitTime).to.be.a('number');
|
||
expect(data.friendValue).to.be.a('number');
|
||
expect(data.friendLv).to.be.a('number');
|
||
expect(data.canReceive).to.be.a('boolean');
|
||
expect(data.canSend).to.be.a('boolean');
|
||
expect(data.type).to.be.a('number');
|
||
expect(data.serverId).to.be.a('number');
|
||
expect(data.serverName).to.be.a('string');
|
||
}
|
||
|
||
function checkBlackListParam(data) {
|
||
expect(data.roleId).to.be.a('string');
|
||
expect(data.roleName).to.be.a('string');
|
||
expect(data.lv).to.be.a('number');
|
||
expect(data.head).to.be.a('number');
|
||
expect(data.spine).to.be.a('number');
|
||
expect(data.frame).to.be.a('number');
|
||
expect(data.ce).to.be.a('number');
|
||
expect(data.title).to.be.a('number');
|
||
expect(data.guildName).to.be.a('string');
|
||
expect(data.isOnline).to.be.a('boolean');
|
||
expect(data.quitTime).to.be.a('number');
|
||
expect(data.type).to.be.a('number');
|
||
expect(data.serverId).to.be.a('number');
|
||
expect(data.serverName).to.be.a('string');
|
||
} |