Support idle primary device warning alert from server

This commit is contained in:
trevor-signal
2025-03-14 10:23:47 -04:00
committed by GitHub
parent de19bb07fa
commit 7c0cbb58ef
25 changed files with 520 additions and 183 deletions

View File

@@ -0,0 +1,45 @@
// 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
);
});
});