You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
2.2 KiB
TypeScript
61 lines
2.2 KiB
TypeScript
4 years ago
|
import chai from 'chai';
|
||
|
import * as sinon from 'sinon';
|
||
|
import _ from 'lodash';
|
||
|
import { describe } from 'mocha';
|
||
|
|
||
|
import { GroupUtils, PromiseUtils, UserUtils } from '../../../../session/utils';
|
||
|
import { TestUtils } from '../../../../test/test-utils';
|
||
|
import {
|
||
|
generateEnvelopePlusClosedGroup,
|
||
|
generateGroupUpdateNameChange,
|
||
|
} from '../../../test-utils/utils/envelope';
|
||
|
import { handleClosedGroupControlMessage } from '../../../../receiver/closedGroups';
|
||
|
import { ConversationController } from '../../../../session/conversations';
|
||
|
|
||
|
// tslint:disable-next-line: no-require-imports no-var-requires no-implicit-dependencies
|
||
|
const chaiAsPromised = require('chai-as-promised');
|
||
|
chai.use(chaiAsPromised);
|
||
|
|
||
|
const { expect } = chai;
|
||
|
|
||
|
// tslint:disable-next-line: max-func-body-length
|
||
|
describe('ClosedGroupUpdates', () => {
|
||
|
// Initialize new stubbed cache
|
||
|
const sandbox = sinon.createSandbox();
|
||
|
const ourDevice = TestUtils.generateFakePubKey();
|
||
|
const ourNumber = ourDevice.key;
|
||
|
const groupId = TestUtils.generateFakePubKey().key;
|
||
|
const members = TestUtils.generateFakePubKeys(10);
|
||
|
const sender = members[3].key;
|
||
|
const getConvo = sandbox.stub(ConversationController.getInstance(), 'get');
|
||
|
|
||
|
beforeEach(async () => {
|
||
|
// Utils Stubs
|
||
|
sandbox.stub(UserUtils, 'getOurPubKeyStrFromCache').returns(ourNumber);
|
||
|
});
|
||
|
|
||
|
afterEach(() => {
|
||
|
TestUtils.restoreStubs();
|
||
|
sandbox.restore();
|
||
|
});
|
||
|
|
||
|
describe('handleClosedGroupControlMessage', () => {
|
||
|
describe('performIfValid', () => {
|
||
|
it('does not perform if convo does not exist', async () => {
|
||
|
const envelope = generateEnvelopePlusClosedGroup(groupId, sender);
|
||
|
const groupUpdate = generateGroupUpdateNameChange(groupId);
|
||
|
getConvo.returns(undefined as any);
|
||
|
await handleClosedGroupControlMessage(envelope, groupUpdate);
|
||
|
});
|
||
|
});
|
||
|
|
||
|
// describe('handleClosedGroupNameChanged', () => {
|
||
|
// it('does not trigger an update of the group if the name is the same', async () => {
|
||
|
// const envelope = generateEnvelopePlusClosedGroup(groupId, sender);
|
||
|
// const groupUpdate = generateGroupUpdateNameChange(groupId);
|
||
|
// await handleClosedGroupControlMessage(envelope, groupUpdate);
|
||
|
// });
|
||
|
// });
|
||
|
});
|
||
|
});
|