115 lines
3 KiB
TypeScript
115 lines
3 KiB
TypeScript
// Copyright 2020 Signal Messenger, LLC
|
|
// SPDX-License-Identifier: AGPL-3.0-only
|
|
|
|
import { assert } from 'chai';
|
|
import { getCallingNotificationText } from '../../util/callingNotification';
|
|
import { CallMode } from '../../types/Calling';
|
|
import { setup as setupI18n } from '../../../js/modules/i18n';
|
|
import enMessages from '../../../_locales/en/messages.json';
|
|
|
|
describe('calling notification helpers', () => {
|
|
const i18n = setupI18n('en', enMessages);
|
|
|
|
describe('getCallingNotificationText', () => {
|
|
// Direct call behavior is not tested here.
|
|
|
|
it('says that the call has ended', () => {
|
|
assert.strictEqual(
|
|
getCallingNotificationText(
|
|
{
|
|
callMode: CallMode.Group,
|
|
conversationId: 'abc123',
|
|
ended: true,
|
|
deviceCount: 1,
|
|
maxDevices: 23,
|
|
startedTime: Date.now(),
|
|
},
|
|
i18n
|
|
),
|
|
'The group call has ended'
|
|
);
|
|
});
|
|
|
|
it("includes the creator's first name when describing a call", () => {
|
|
assert.strictEqual(
|
|
getCallingNotificationText(
|
|
{
|
|
callMode: CallMode.Group,
|
|
conversationId: 'abc123',
|
|
creator: {
|
|
firstName: 'Luigi',
|
|
isMe: false,
|
|
title: 'Luigi Mario',
|
|
},
|
|
ended: false,
|
|
deviceCount: 1,
|
|
maxDevices: 23,
|
|
startedTime: Date.now(),
|
|
},
|
|
i18n
|
|
),
|
|
'Luigi started a group call'
|
|
);
|
|
});
|
|
|
|
it("if the creator doesn't have a first name, falls back to their title", () => {
|
|
assert.strictEqual(
|
|
getCallingNotificationText(
|
|
{
|
|
callMode: CallMode.Group,
|
|
conversationId: 'abc123',
|
|
creator: {
|
|
isMe: false,
|
|
title: 'Luigi Mario',
|
|
},
|
|
ended: false,
|
|
deviceCount: 1,
|
|
maxDevices: 23,
|
|
startedTime: Date.now(),
|
|
},
|
|
i18n
|
|
),
|
|
'Luigi Mario started a group call'
|
|
);
|
|
});
|
|
|
|
it('has a special message if you were the one to start the call', () => {
|
|
assert.strictEqual(
|
|
getCallingNotificationText(
|
|
{
|
|
callMode: CallMode.Group,
|
|
conversationId: 'abc123',
|
|
creator: {
|
|
firstName: 'ShouldBeIgnored',
|
|
isMe: true,
|
|
title: 'ShouldBeIgnored Smith',
|
|
},
|
|
ended: false,
|
|
deviceCount: 1,
|
|
maxDevices: 23,
|
|
startedTime: Date.now(),
|
|
},
|
|
i18n
|
|
),
|
|
'You started a group call'
|
|
);
|
|
});
|
|
|
|
it('handles an unknown creator', () => {
|
|
assert.strictEqual(
|
|
getCallingNotificationText(
|
|
{
|
|
callMode: CallMode.Group,
|
|
conversationId: 'abc123',
|
|
ended: false,
|
|
deviceCount: 1,
|
|
maxDevices: 23,
|
|
startedTime: Date.now(),
|
|
},
|
|
i18n
|
|
),
|
|
'A group call was started'
|
|
);
|
|
});
|
|
});
|
|
});
|