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');
|
|
} |