Add tests

This commit is contained in:
syuilo 2021-06-27 21:17:42 +09:00
parent b95775041c
commit b6df8cc1f5
2 changed files with 46 additions and 2 deletions

View file

@ -9,4 +9,18 @@ describe('Streaming', () => {
expectType<Misskey.entities.Notification>(notification); expectType<Misskey.entities.Notification>(notification);
}); });
}); });
test('params type', async () => {
const stream = new Misskey.Stream('https://misskey.test', { token: 'TOKEN' });
// TODO: 「stream.useChannel の第二引数として受け入れる型が
// {
// otherparty?: User['id'] | null;
// group?: UserGroup['id'] | null;
// }
// になっている」というテストを行いたいけどtsdでの書き方がわからない
const messagingChannel = stream.useChannel('messaging', { otherparty: 'aaa' });
messagingChannel.on('message', message => {
expectType<Misskey.entities.MessagingMessage>(message);
});
});
}); });

View file

@ -36,10 +36,40 @@ describe('Streaming', () => {
server.close(); server.close();
}); });
/* TODO
test('useChannel with parameters', async () => { test('useChannel with parameters', async () => {
const server = new WS('wss://misskey.test/streaming');
const stream = new Stream('https://misskey.test', { token: 'TOKEN' });
const messagingChannelReceived: any[] = [];
const messaging = stream.useChannel('messaging', { otherparty: 'aaa' });
messaging.on('message', payload => {
messagingChannelReceived.push(payload);
});
await server.connected;
const msg = JSON.parse(await server.nextMessage as string);
const messagingChannelId = msg.body.id;
expect(msg.type).toEqual('connect');
expect(msg.body.channel).toEqual('messaging');
expect(msg.body.params).toEqual({ otherparty: 'aaa' });
expect(messagingChannelId != null).toEqual(true);
server.send(JSON.stringify({
type: 'channel',
body: {
id: messagingChannelId,
type: 'message',
body: {
id: 'foo'
}
}
}));
expect(messagingChannelReceived[0]).toEqual({
id: 'foo'
});
stream.close();
server.close();
}); });
*/
test('Connection#dispose', async () => { test('Connection#dispose', async () => {
const server = new WS('wss://misskey.test/streaming'); const server = new WS('wss://misskey.test/streaming');