Clarify behavior for SMS-only conversations

This commit is contained in:
trevor-signal
2025-01-05 15:19:43 -05:00
committed by GitHub
parent 85c74e7e68
commit 9b84402fb0
8 changed files with 42 additions and 57 deletions

View File

@@ -18,47 +18,11 @@ describe('isConversationSMSOnly', () => {
});
['direct', 'private'].forEach(type => {
it('returns false if passed an undefined discoveredUnregisteredAt', () => {
assert.isFalse(
isConversationSMSOnly({ type, discoveredUnregisteredAt: undefined })
);
});
it('returns true if passed a very old discoveredUnregisteredAt', () => {
assert.isTrue(
isConversationSMSOnly({
type,
e164: 'e164',
serviceId,
discoveredUnregisteredAt: 1,
})
);
});
it(`returns true if passed a time fewer than 6 hours ago and is ${type}`, () => {
assert.isTrue(
isConversationSMSOnly({
type,
e164: 'e164',
serviceId,
discoveredUnregisteredAt: Date.now(),
})
);
const fiveHours = 1000 * 60 * 60 * 5;
assert.isTrue(
isConversationSMSOnly({
type,
e164: 'e164',
serviceId,
discoveredUnregisteredAt: Date.now() - fiveHours,
})
);
});
it(`returns true conversation is ${type} and has no uuid`, () => {
assert.isTrue(isConversationSMSOnly({ type, e164: 'e164' }));
it(`requires an e164 but no serviceId, type ${type}`, () => {
assert.isFalse(isConversationSMSOnly({ type }));
assert.isFalse(isConversationSMSOnly({ type, serviceId }));
assert.isFalse(isConversationSMSOnly({ type, e164: 'e164', serviceId }));
assert.isTrue(isConversationSMSOnly({ type, e164: 'e164' }));
});
});