39 lines
1.3 KiB
TypeScript
39 lines
1.3 KiB
TypeScript
// Copyright 2024 Signal Messenger, LLC
|
|
// SPDX-License-Identifier: AGPL-3.0-only
|
|
|
|
import { assert } from 'chai';
|
|
|
|
import { callLinkToRecord, callLinkFromRecord } from '../../util/callLinks';
|
|
import type { CallLinkType } from '../../types/CallLink';
|
|
import { CallLinkRestrictions } from '../../types/CallLink';
|
|
import { MONTH } from '../../util/durations/constants';
|
|
|
|
const CALL_LINK: CallLinkType = {
|
|
adminKey: null,
|
|
expiration: Date.now() + MONTH,
|
|
name: 'Fun Link',
|
|
restrictions: CallLinkRestrictions.None,
|
|
revoked: false,
|
|
roomId: 'c097eb04cc278d6bc7ed9fb2ddeac00dc9646ae6ddb38513dad9a8a4fe3c38f4',
|
|
rootKey: 'bpmc-mrgn-hntf-mffd-mndd-xbxk-zmgq-qszg',
|
|
};
|
|
|
|
const CALL_LINK_WITH_ADMIN_KEY: CallLinkType = {
|
|
adminKey: 'xXPI77e6MoVHYREW8iKYmQ==',
|
|
expiration: Date.now() + MONTH,
|
|
name: 'Fun Link',
|
|
restrictions: CallLinkRestrictions.None,
|
|
revoked: false,
|
|
roomId: 'c097eb04cc278d6bc7ed9fb2ddeac00dc9646ae6ddb38513dad9a8a4fe3c38f4',
|
|
rootKey: 'bpmc-mrgn-hntf-mffd-mndd-xbxk-zmgq-qszg',
|
|
};
|
|
|
|
describe('callLinks', () => {
|
|
it('callLinkToRecord() and callLinkFromRecord() can convert to record and back', () => {
|
|
[CALL_LINK, CALL_LINK_WITH_ADMIN_KEY].forEach(callLink => {
|
|
const record = callLinkToRecord(callLink);
|
|
const returnedCallLink = callLinkFromRecord(record);
|
|
assert.deepEqual(returnedCallLink, callLink);
|
|
});
|
|
});
|
|
});
|