tests-init
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
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
Loading…
Reference in New Issue