Skip to content

Commit

Permalink
sdk: tests
Browse files Browse the repository at this point in the history
  • Loading branch information
andrevmatos committed Oct 6, 2020
1 parent 8a1a014 commit 22aba8d
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 25 deletions.
62 changes: 37 additions & 25 deletions raiden-ts/tests/unit/epics/transport.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -597,21 +597,24 @@ describe('transport epic', () => {
expect(matrix.invite).not.toHaveBeenCalled();
});

test('invite if there is room for user', () => {
test('invite if there is room for user', async () => {
expect.assertions(2);
const roomId = partnerRoomId;

action$.next(matrixRoom({ roomId }, { address: partner }));

matrix.invite.mockResolvedValueOnce(Promise.resolve());
// partner joins when they're invited the second time
matrix.invite.mockImplementationOnce(async () => {
matrix.emit(
'RoomMember.membership',
{},
{ roomId, userId: partnerUserId, membership: 'join' },
);
});
const promise = new Promise((resolve) =>
matrix.invite.mockImplementation(async () => {
matrix.emit(
'RoomMember.membership',
{},
{ roomId, userId: partnerUserId, membership: 'join' },
);
resolve();
}),
);
matrix.invite.mockResolvedValueOnce(Promise.resolve());

// epic needs to wait for the room to become available
matrix.getRoom.mockReturnValueOnce(null);
Expand All @@ -625,13 +628,7 @@ describe('transport epic', () => {
),
);

matrix.emit('Room', { roomId, getMember: jest.fn(() => ({ membership: 'leave' })) });
matrix.emit(
'RoomMember.membership',
{},
{ roomId, userId: partnerUserId, membership: 'leave' },
);

await promise;
expect(matrix.invite).toHaveBeenCalledTimes(2);
expect(matrix.invite).toHaveBeenCalledWith(roomId, partnerUserId);

Expand Down Expand Up @@ -894,7 +891,7 @@ describe('transport epic', () => {

action$.next(matrixRoom({ roomId }, { address: partner }));

matrix.getRoom.mockReturnValueOnce({
matrix.getRoom.mockReturnValue({
roomId,
name: roomId,
getMember: jest.fn(
Expand Down Expand Up @@ -955,7 +952,7 @@ describe('transport epic', () => {

action$.next(matrixRoom({ roomId }, { address: partner }));

matrix.getRoom.mockReturnValueOnce(null);
matrix.getRoom.mockReturnValue(null);

const sub = matrixMessageSendEpic(action$, state$, depsMock).subscribe();

Expand All @@ -970,14 +967,28 @@ describe('transport epic', () => {
expect(matrix.sendEvent).not.toHaveBeenCalled();

// a wild Room appears
matrix.emit('Room', {
matrix.getRoom.mockReturnValue({
roomId,
name: roomId,
getMember: jest.fn(),
getJoinedMembers: jest.fn(),
getMember: jest.fn(
(userId) =>
({
roomId,
userId,
name: userId,
membership: 'join',
user: null,
} as any),
),
getJoinedMembers: jest.fn(() => []),
getCanonicalAlias: jest.fn(() => roomId),
getAliases: jest.fn(() => []),
});
currentState: {
roomId,
setStateEvents: jest.fn(),
members: {},
} as any,
} as any);

// user joins later
matrix.emit(
Expand Down Expand Up @@ -1005,7 +1016,7 @@ describe('transport epic', () => {

action$.next(matrixRoom({ roomId }, { address: partner }));

matrix.getRoom.mockReturnValueOnce({
matrix.getRoom.mockReturnValue({
roomId,
name: roomId,
getMember: jest.fn(
Expand Down Expand Up @@ -1534,7 +1545,7 @@ describe('transport epic', () => {
msgtype: 'm.notice',
body: jsonStringify({
type: 'offer',
call_id: `${partner}|${depsMock.address}`,
call_id: `${partner}|${depsMock.address}`.toLowerCase(),
sdp: 'offerSdp',
}),
}),
Expand Down Expand Up @@ -1564,7 +1575,7 @@ describe('transport epic', () => {
{ address: partner },
),
);
}, 50);
}, 100);

action$.next(matrixRoom({ roomId: partnerRoomId }, { address: partner }));
action$.next(
Expand Down Expand Up @@ -1663,6 +1674,7 @@ describe('transport epic', () => {
);
Object.assign(rtcDataChannel, { readyState: 'open' });
rtcDataChannel.emit('open', true);
rtcDataChannel.emit('message', { data: 'ping' });
}, 40);
setTimeout(() => {
rtcDataChannel.emit('close', true);
Expand Down
2 changes: 2 additions & 0 deletions raiden-ts/tests/unit/mocks.ts
Original file line number Diff line number Diff line change
Expand Up @@ -277,6 +277,7 @@ export function makeMatrix(userId: string, server: string): jest.Mocked<MatrixCl
export function mockRTC() {
const rtcDataChannel = (Object.assign(new EventEmitter(), {
close: jest.fn(),
send: jest.fn(),
}) as unknown) as jest.Mocked<RTCDataChannel & EventEmitter>;

const rtcConnection = (Object.assign(new EventEmitter(), {
Expand All @@ -290,6 +291,7 @@ export function mockRTC() {
/* remote */
}),
addIceCandidate: jest.fn(),
close: jest.fn(),
}) as unknown) as jest.Mocked<RTCPeerConnection & EventEmitter>;

const RTCPeerConnection = jest
Expand Down

0 comments on commit 22aba8d

Please sign in to comment.