More permissive username search

This commit is contained in:
Fedor Indutny 2024-02-14 10:18:49 -08:00 committed by GitHub
parent 89525d3e16
commit 4a41e87173
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
17 changed files with 121 additions and 31 deletions

View file

@ -0,0 +1,34 @@
// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
import * as Username from '../../util/Username';
describe('Username', () => {
describe('getUsernameFromSearch', () => {
const { getUsernameFromSearch } = Username;
it('matches invalid username searches', () => {
assert.isUndefined(getUsernameFromSearch('us'));
assert.isUndefined(getUsernameFromSearch('123'));
});
it('matches partial username searches without discriminator', () => {
assert.strictEqual(getUsernameFromSearch('use'), 'use');
assert.strictEqual(getUsernameFromSearch('use.'), 'use.');
});
it('matches valid username searches', () => {
assert.strictEqual(getUsernameFromSearch('username.12'), 'username.12');
assert.strictEqual(getUsernameFromSearch('xyz.568'), 'xyz.568');
});
it('does not match something that looks like a phone number', () => {
assert.isUndefined(getUsernameFromSearch('+'));
assert.isUndefined(getUsernameFromSearch('2223'));
assert.isUndefined(getUsernameFromSearch('+3'));
assert.isUndefined(getUsernameFromSearch('+234234234233'));
});
});
});