tests-init

pull/1177/head
Vincent 5 years ago
parent d0c9f8b773
commit 119ab83e85

@ -0,0 +1,71 @@
import { expect } from 'chai';
import * as _ from 'lodash';
import { MessageUtils } from '../../../session/utils';
import { TestUtils } from '../../../test/test-utils';
import { PendingMessageCache, MessageQueue } from '../../../session/sending/MessageQueue';
import { generateFakePubkey, generateChatMessage } from '../../test-utils/testUtils';
// Equivalent to Data.StorageItem
interface StorageItem {
id: string;
value: any;
}
describe('Message Queue', () => {
// Initialize new stubbed cache
let data: StorageItem;
let messageQueueStub: MessageQueue;
beforeEach(async () => {
// Stub out methods which touch the database
const storageID = 'pendingMessages';
data = {
id: storageID,
value: '[]',
};
TestUtils.stubData('getItemById')
.withArgs('pendingMessages')
.callsFake(async () => {
return data;
});
TestUtils.stubData('createOrUpdateItem').callsFake((item: StorageItem) => {
if (item.id === storageID) {
data = item;
}
});
messageQueueStub = new MessageQueue();
});
afterEach(() => {
TestUtils.restoreStubs();
});
it('can send to many devices', async () => {
const devices = Array.from({length: 40}, generateFakePubkey);
const message = generateChatMessage();
await messageQueueStub.sendMessageToDevices(devices, message);
// Failure will make an error
});
it('can send using multidevice', async () => {
const device = generateFakePubkey();
const message = generateChatMessage();
await messageQueueStub.sendUsingMultiDevice(device, message);
});
it('', async () => {
});
it("won't process invalid message", async () => {
// process with message undefined
});
});

@ -6,7 +6,7 @@ import { v4 as uuid } from 'uuid';
import { ImportMock } from 'ts-mock-imports';
import { PubKey } from '../../../ts/session/types';
import { ChatMessage } from '../../session/messages/outgoing';
import { ChatMessage, OpenGroupMessage } from '../../session/messages/outgoing';
const sandbox = sinon.createSandbox();
@ -67,3 +67,13 @@ export function generateChatMessage(): ChatMessage {
preview: undefined,
});
}
export function generateOpenGroupMessage(): OpenGroupMessage {
const group = new OpenGroup()
return new OpenGroupMessage({
group
attachments: undefined,
});
}

Loading…
Cancel
Save