Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/dceprojects.corals.io/node_modules/laravel-echo/tests/channel/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/dceprojects.corals.io/node_modules/laravel-echo/tests/channel/socketio-channel.test.ts
import { SocketIoChannel } from '../../src/channel';

describe('SocketIoChannel', () => {
    let channel;
    let socket;

    beforeEach(() => {
        const channelName = 'some.channel';
        let listeners = [];
        socket = {
            emit: (event, data) => listeners.filter(([e]) => e === event).forEach(([, fn]) => fn(channelName, data)),
            on: (event, fn) => listeners.push([event, fn]),
            removeListener: (event, fn) => {
                listeners = listeners.filter(([e, f]) => (!fn ? e !== event : e !== event || f !== fn));
            },
        };

        channel = new SocketIoChannel(socket, channelName, {
            namespace: false,
        });
    });

    test('triggers all listeners for an event', () => {
        const l1 = jest.fn();
        const l2 = jest.fn();
        const l3 = jest.fn();
        channel.listen('MyEvent', l1);
        channel.listen('MyEvent', l2);
        channel.listen('MyOtherEvent', l3);

        socket.emit('MyEvent', {});

        expect(l1).toBeCalled();
        expect(l2).toBeCalled();
        expect(l3).not.toBeCalled();

        socket.emit('MyOtherEvent', {});

        expect(l3).toBeCalled();
    });

    test('can remove a listener for an event', () => {
        const l1 = jest.fn();
        const l2 = jest.fn();
        const l3 = jest.fn();
        channel.listen('MyEvent', l1);
        channel.listen('MyEvent', l2);
        channel.listen('MyOtherEvent', l3);

        channel.stopListening('MyEvent', l1);

        socket.emit('MyEvent', {});

        expect(l1).not.toBeCalled();
        expect(l2).toBeCalled();
        expect(l3).not.toBeCalled();

        socket.emit('MyOtherEvent', {});

        expect(l3).toBeCalled();
    });

    test('can remove all listeners for an event', () => {
        const l1 = jest.fn();
        const l2 = jest.fn();
        const l3 = jest.fn();
        channel.listen('MyEvent', l1);
        channel.listen('MyEvent', l2);
        channel.listen('MyOtherEvent', l3);

        channel.stopListening('MyEvent');

        socket.emit('MyEvent', {});

        expect(l1).not.toBeCalled();
        expect(l2).not.toBeCalled();
        expect(l3).not.toBeCalled();

        socket.emit('MyOtherEvent', {});

        expect(l3).toBeCalled();
    });
});

Spamworldpro Mini