Fix Channel Create Tests
This commit is contained in:
parent
d9d65cbd98
commit
7ccbc5c3c7
@ -33,8 +33,8 @@ export default class implements WSEvent<'CHANNEL_CREATE'> {
|
||||
);
|
||||
|
||||
// add guild members to channel
|
||||
const clientIds = ws.io.sockets.adapter.rooms.get(guildId)!;
|
||||
for (const id of clientIds)
|
||||
const clientIds = ws.io.sockets.adapter.rooms.get(guildId);
|
||||
for (const id of clientIds ?? [])
|
||||
await ws.io.sockets.sockets
|
||||
.get(id)
|
||||
?.join(channel.id);
|
||||
|
@ -1,6 +1,3 @@
|
||||
import 'mocha';
|
||||
import 'chai-as-promised';
|
||||
import '../../types';
|
||||
import { WebSocket } from '../../../src/ws/websocket';
|
||||
import io from 'socket.io-client';
|
||||
import ChannelCreate from '../../../src/ws/ws-events/channel-create';
|
||||
@ -9,6 +6,7 @@ import { expect, spy } from 'chai';
|
||||
import { Guild, GuildDocument } from '../../../src/data/models/guild';
|
||||
import { RoleDocument } from '../../../src/data/models/role';
|
||||
import { PermissionTypes } from '../../../src/types/permission-types';
|
||||
import { Channel } from '../../../src/data/models/channel';
|
||||
|
||||
describe('channel-create', () => {
|
||||
const client = (io as any)(`http://localhost:${process.env.PORT}`) as any;
|
||||
@ -32,33 +30,21 @@ describe('channel-create', () => {
|
||||
await expect(createChannel()).to.be.fulfilled;
|
||||
});
|
||||
|
||||
it('member successfully creates channel, new channel added', async () => {
|
||||
const oldLength = guild.channels.length;
|
||||
it('member successfully creates channel, new channel added to guild', async () => {
|
||||
const oldLength = await Channel.countDocuments({ guildId: guild.id });
|
||||
|
||||
await makeGuildOwner();
|
||||
await createChannel();
|
||||
|
||||
guild = await Guild.findById(guild.id);
|
||||
expect(guild.channels.length).to.be.greaterThan(oldLength);
|
||||
const newLength = await Channel.countDocuments({ guildId: guild.id });
|
||||
expect(newLength).to.be.greaterThan(oldLength);
|
||||
});
|
||||
|
||||
it('member successfully creates channel, client joins channel room', async () => {
|
||||
const join = spy.on(client, 'join');
|
||||
|
||||
await makeGuildOwner();
|
||||
await createChannel();
|
||||
|
||||
guild = await Guild.findById(guild.id);
|
||||
|
||||
expect(join).to.be.called();
|
||||
});
|
||||
|
||||
async function createChannel({ name, type, summary }?: Partial<Entity.Channel>) {
|
||||
async function createChannel(options?: Partial<Entity.Channel>) {
|
||||
return event.invoke(ws, client, {
|
||||
guildId: guild.id,
|
||||
name,
|
||||
type,
|
||||
summary,
|
||||
name: 'testing123',
|
||||
...options,
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -56,16 +56,22 @@ export class Mock {
|
||||
client.disconnect();
|
||||
}
|
||||
|
||||
// FIXME: garbage coding
|
||||
public static ioClient(client: any) {
|
||||
client.rooms = new Map();
|
||||
client.rooms = [];
|
||||
client.sockets = {
|
||||
adapter: { rooms: client.rooms },
|
||||
};
|
||||
client.join = async (...args) => {
|
||||
for (const arg of args)
|
||||
client.rooms.set(arg, arg);
|
||||
client.rooms.push(...args);
|
||||
};
|
||||
client.leave = async (...args) => {
|
||||
for (const arg of args)
|
||||
client.rooms.delete(arg);
|
||||
};
|
||||
client.sockets.sockets = {
|
||||
get: () => ({ join: client.join }),
|
||||
};
|
||||
}
|
||||
|
||||
public static async message(author: Entity.User, channelId: string, options?: Partial<Entity.Message>) {
|
||||
|
@ -42,21 +42,23 @@ console.log(`${space(48 * 3)}TESTS${space(54 * 2)}`.bgWhite.black);
|
||||
// import('./integration/routes/guilds-routes.tests');
|
||||
// import('./integration/routes/channel-routes.tests');
|
||||
|
||||
// import('./integration/ws/channel-create.tests');
|
||||
// import('./integration/ws/guild-member-add.tests');
|
||||
// import('./integration/ws/guild-member-remove.tests');
|
||||
// import('./integration/ws/guild-member-update.tests');
|
||||
// import('./integration/ws/guild-create.tests');
|
||||
// import('./integration/ws/guild-delete.tests');
|
||||
// import('./integration/ws/guild-update.tests');
|
||||
// import('./integration/ws/invite-create.tests');
|
||||
// import('./integration/ws/invite-delete.tests');
|
||||
// import('./integration/ws/message-create.tests');
|
||||
// import('./integration/ws/message-update.tests');
|
||||
// import('./integration/ws/message-delete.tests');
|
||||
import('./integration/ws/channel-create.tests');
|
||||
// TODO: import('./integration/ws/channel-delete.tests');
|
||||
// TODO: import('./integration/ws/channel-update.tests');
|
||||
import('./integration/ws/guild-member-add.tests'); //fail
|
||||
// import('./integration/ws/guild-member-remove.tests'); //fail
|
||||
// import('./integration/ws/guild-member-update.tests'); // fail
|
||||
// import('./integration/ws/guild-create.tests'); // fail
|
||||
// import('./integration/ws/guild-delete.tests'); // fail
|
||||
// import('./integration/ws/guild-update.tests'); // fail
|
||||
// import('./integration/ws/invite-create.tests'); //fail
|
||||
// import('./integration/ws/invite-delete.tests'); //fail
|
||||
// import('./integration/ws/message-create.tests'); //fail
|
||||
// import('./integration/ws/message-update.tests'); // fail
|
||||
// import('./integration/ws/message-delete.tests'); // fail
|
||||
// import('./integration/ws/ready.tests');
|
||||
import('./integration/ws/user-update.tests');
|
||||
// import('./integration/ws/ws-guard.tests');
|
||||
// import('./integration/ws/ws-guard.tests'); // fail
|
||||
|
||||
import('./unit/models/app.tests');
|
||||
import('./unit/models/channel.tests');
|
||||
|
Loading…
x
Reference in New Issue
Block a user