});
mock.on('end', function() {
+ mock.close();
const msgs = mock.getIncomingMsgs();
for (let i = 0; i < msgs.length; i++) {
expect(msgs[i]).toEqual(fixtures.sent[i][0]);
}
- mock.close();
expect.assertions(fixtures.sent.length + fixtures.received.length + fixtures.clientInfo.length);
});
const mock = new MockIrcd();
const client = new Client('localhost', 'testbot', {debug: true, port: await mock.listen()});
- const modehandler = jest.fn((channel: string, by: string, mode: string, argument?: string) => {
- if (channel === '#auditorium' && argument === 'user') {
- client.disconnect();
- }
- });
+ const modehandler = jest.fn();
- client.on('+mode', modehandler);
mock.server.on('connection', function() {
// Initiate connection
mock.on('end', function() {
mock.close();
- expect(modehandler).toBeCalled();
});
+
+ await new Promise<void>((resolve) => {
+ client.on('+mode', (channel: string, by: string, mode: string, argument?: string) => {
+ if (channel === '#auditorium' && argument === 'user') {
+ resolve();
+ }
+ });
+ });
+
+ client.disconnect();
});
});
mock.on('end', function() {
+ mock.close();
const msgs = mock.getIncomingMsgs();
for (let i = 0; i < msgs.length; i++) {
expect(msgs[i]).toEqual(expected.sent[i][0]);
}
- mock.close();
expect.assertions(expected.sent.length + expected.received.length);
});
});
mock.on('end', function() {
+ mock.close();
const msgs = mock.getIncomingMsgs();
for (let i = 0; i < msgs.length; i++) {
expect(msgs[i]).toEqual(expected.sent[i][0]);
}
- mock.close();
expect.assertions(expected.sent.length + expected.received.length);
});