Signal-Desktop/ts/test-both/util/serverAlerts_test.ts

46 lines
1.3 KiB
TypeScript

// Copyright 2025 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
import {
getServerAlertToShow,
ServerAlert,
} from '../../util/handleServerAlerts';
import { DAY, MONTH, WEEK } from '../../util/durations';
describe('serverAlerts', () => {
it('should prefer critical alerts', () => {
assert.strictEqual(
getServerAlertToShow({
[ServerAlert.CRITICAL_IDLE_PRIMARY_DEVICE]: {
firstReceivedAt: Date.now(),
},
[ServerAlert.IDLE_PRIMARY_DEVICE]: { firstReceivedAt: Date.now() },
}),
ServerAlert.CRITICAL_IDLE_PRIMARY_DEVICE
);
});
it('should not show idle device warning if dismissed < 1 week', () => {
assert.strictEqual(
getServerAlertToShow({
[ServerAlert.IDLE_PRIMARY_DEVICE]: {
firstReceivedAt: Date.now() - MONTH,
dismissedAt: Date.now() - DAY,
},
}),
null
);
});
it('should show idle device warning if dismissed > 1 week', () => {
assert.strictEqual(
getServerAlertToShow({
[ServerAlert.IDLE_PRIMARY_DEVICE]: {
firstReceivedAt: Date.now() - MONTH,
dismissedAt: Date.now() - WEEK - 1,
},
}),
ServerAlert.IDLE_PRIMARY_DEVICE
);
});
});