fix: Major bug cleanup pass 1
Queue Release Build / prepare (push) Successful in 19s
Deploy Web Apps / deploy (push) Successful in 8m12s
Queue Release Build / build-windows (push) Successful in 27m44s
Queue Release Build / build-linux (push) Successful in 48m1s
Queue Release Build / finalize (push) Successful in 2m42s
Queue Release Build / build-android (push) Successful in 22m7s
Queue Release Build / prepare (push) Successful in 19s
Deploy Web Apps / deploy (push) Successful in 8m12s
Queue Release Build / build-windows (push) Successful in 27m44s
Queue Release Build / build-linux (push) Successful in 48m1s
Queue Release Build / finalize (push) Successful in 2m42s
Queue Release Build / build-android (push) Successful in 22m7s
This commit is contained in:
+36
@@ -0,0 +1,36 @@
|
||||
import {
|
||||
describe,
|
||||
it,
|
||||
expect
|
||||
} from 'vitest';
|
||||
import {
|
||||
ProvisionUsernameCollisionError,
|
||||
buildProvisionUsernameCandidates,
|
||||
shortHomeUserId
|
||||
} from './signal-server-provision.rules';
|
||||
|
||||
describe('signal-server-provision.rules', () => {
|
||||
it('derives a stable short id from a home user uuid', () => {
|
||||
expect(shortHomeUserId('a3f2b1c4-5678-90ab-cdef-1234567890ab')).toBe('a3f2b1');
|
||||
});
|
||||
|
||||
it('orders username candidates with preferred first then suffixed fallback', () => {
|
||||
expect(
|
||||
buildProvisionUsernameCandidates('alice', 'a3f2b1c4-5678-90ab-cdef-1234567890ab')
|
||||
).toEqual(['alice', 'alice-a3f2b1']);
|
||||
});
|
||||
|
||||
it('deduplicates candidates when suffix would repeat preferred username', () => {
|
||||
expect(
|
||||
buildProvisionUsernameCandidates('alice-a3f2b1', 'a3f2b1c4-5678-90ab-cdef-1234567890ab')
|
||||
).toEqual(['alice-a3f2b1']);
|
||||
});
|
||||
|
||||
it('exposes attempted usernames on collision errors', () => {
|
||||
const error = new ProvisionUsernameCollisionError('https://signal.example.com', ['alice', 'alice-a3f2b1']);
|
||||
|
||||
expect(error.name).toBe('ProvisionUsernameCollisionError');
|
||||
expect(error.serverUrl).toBe('https://signal.example.com');
|
||||
expect(error.attemptedUsernames).toEqual(['alice', 'alice-a3f2b1']);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user