From 3fa9eed90b8c3eded6fa8d08a11eef2009a62cd3 Mon Sep 17 00:00:00 2001 From: Vincent Date: Wed, 17 Jun 2020 15:59:12 +1000 Subject: [PATCH] stuck-w-events --- ts/test/session/sending/MessageQueue_test.ts | 47 +++++++++++++++++--- 1 file changed, 42 insertions(+), 5 deletions(-) diff --git a/ts/test/session/sending/MessageQueue_test.ts b/ts/test/session/sending/MessageQueue_test.ts index fe9a61540..2bb1d77fe 100644 --- a/ts/test/session/sending/MessageQueue_test.ts +++ b/ts/test/session/sending/MessageQueue_test.ts @@ -14,7 +14,7 @@ import { MessageSender } from '../../../session/sending'; import { toRawMessage } from '../../../session/utils/Messages'; import { SessionProtocol } from '../../../session/protocols'; import { PendingMessageCache } from '../../../session/sending/PendingMessageCache'; -import { generateChatMessage } from '../../test-utils/testUtils'; +import { generateChatMessage, generateFakePubkey } from '../../test-utils/testUtils'; // Equivalent to Data.StorageItem interface StorageItem { @@ -34,9 +34,9 @@ describe('MessageQueue', () => { let messageQueueStub: MessageQueue; // Spies - // let messageQueueSpy: Sinon.SinonSpy; - let sendMessageToDevicesSpy: Sinon.SinonSpy; - let sendSyncMessageSpy: Sinon.SinonSpy; + let sendToOpenGroupSpy: sinon.SinonSpy; + let sendMessageToDevicesSpy: sinon.SinonSpy; + let sendSyncMessageSpy: sinon.SinonSpy; // Message Sender Stubs let sendStub: sinon.SinonStub<[RawMessage, (number | undefined)?]>; @@ -126,11 +126,12 @@ describe('MessageQueue', () => { ); // Spies + sendToOpenGroupSpy = sandbox.spy(MessageSender, 'sendToOpenGroup'); + sendSyncMessageSpy = sandbox.spy(MessageQueue.prototype, 'sendSyncMessage'); sendMessageToDevicesSpy = sandbox.spy( MessageQueue.prototype, 'sendMessageToDevices' ); - sendSyncMessageSpy = sandbox.spy(MessageQueue.prototype, 'sendSyncMessage'); // Init Queue messageQueueStub = new MessageQueue(); @@ -157,7 +158,9 @@ describe('MessageQueue', () => { const promise = messageQueueStub.sendSyncMessage(message, devices); expect(promise).to.be.fulfilled; }); + }); + describe('processPending', () => { it('will send sync message if no session', async () => { hasSessionStub.resolves(false); @@ -169,6 +172,15 @@ describe('MessageQueue', () => { await tick(); expect(sendSessionRequestIfNeededStub.callCount).to.equal(1); }); + + it('will send message is session exists', () => { + // + // + // + // + // + // + }); }); describe('sendUsingMultiDevice', () => { @@ -320,6 +332,10 @@ describe('MessageQueue', () => { false, 'sendToGroup considered an invalid message type as valid' ); + + // These should not be called; early exit + expect(sendMessageToDevicesSpy.callCount).to.equal(0); + expect(sendToOpenGroupSpy.callCount).to.equal(0); }); it('can send to open group', async () => { @@ -329,4 +345,25 @@ describe('MessageQueue', () => { expect(success).to.equal(true, 'sending to group failed'); }); }); + + describe('MessageQueue events', () => { + console.log('[vince] messageQueueStub.events:', messageQueueStub); + console.log('[vince] messageQueueStub.events:', messageQueueStub); + // console.log('[vince] messageQueueStub.events:', messageQueueStub.events); + + const successSpy = sandbox.spy(); + messageQueueStub.events.on('success', successSpy); + + // messageQueueStub.events.on('success', successSpy); + + // const device = generateFakePubkey(); + // const promise = messageQueueStub.processPending(device); + + // expect(promise).to.be.fulfilled; + + console.log('[vince] successSpy.callCount:', successSpy.callCount); + + + + }); });