mirror of
https://git.joinsharkey.org/Sharkey/Sharkey.git
synced 2024-11-25 00:23:09 +02:00
36 lines
914 B
TypeScript
36 lines
914 B
TypeScript
|
import WS from 'jest-websocket-mock';
|
||
|
import Stream from '../src/streaming';
|
||
|
|
||
|
describe('Streaming', () => {
|
||
|
test('success', async () => {
|
||
|
const server = new WS('wss://misskey.test/streaming');
|
||
|
const stream = new Stream('https://misskey.test', { token: 'TOKEN' });
|
||
|
const mainChannelReceived: any[] = [];
|
||
|
const main = stream.useSharedConnection('main');
|
||
|
main.on('foo', payload => {
|
||
|
mainChannelReceived.push(payload);
|
||
|
});
|
||
|
await server.connected;
|
||
|
const msg = JSON.parse(await server.nextMessage as string);
|
||
|
const mainChannelId = msg.body.id;
|
||
|
expect(msg.type).toEqual('connect');
|
||
|
expect(msg.body.channel).toEqual('main');
|
||
|
expect(mainChannelId != null).toEqual(true);
|
||
|
|
||
|
server.send(JSON.stringify({
|
||
|
type: 'channel',
|
||
|
body: {
|
||
|
id: mainChannelId,
|
||
|
type: 'foo',
|
||
|
body: {
|
||
|
bar: 'buzz'
|
||
|
}
|
||
|
}
|
||
|
}));
|
||
|
|
||
|
expect(mainChannelReceived[0]).toEqual({
|
||
|
bar: 'buzz'
|
||
|
});
|
||
|
});
|
||
|
});
|