Files
TREK/server/tests/unit/services/avatarUrl.test.ts
2026-10-06 21:50:59 +02:00

25 lines
1002 B
TypeScript

/**
* Unit tests for avatarUrl — AVATAR-URL-001 through AVATAR-URL-003.
* The stored value is either an uploaded file name or an absolute https URL from
* an OIDC `picture` claim (#1399); the helper resolves both to a renderable src.
*/
import { avatarUrl } from '../../../src/nest/common/avatarUrl';
import { describe, it, expect } from 'vitest';
describe('avatarUrl', () => {
it('AVATAR-URL-001: prefixes an uploaded file name with the avatars path', () => {
expect(avatarUrl({ avatar: 'abc123.jpg' })).toBe('/uploads/avatars/abc123.jpg');
});
it('AVATAR-URL-002: passes an absolute https URL (OIDC picture) through untouched', () => {
expect(avatarUrl({ avatar: 'https://idp.example.com/u/pic.png' })).toBe('https://idp.example.com/u/pic.png');
});
it('AVATAR-URL-003: returns null when no avatar is set', () => {
expect(avatarUrl({ avatar: null })).toBeNull();
expect(avatarUrl({ avatar: undefined })).toBeNull();
expect(avatarUrl({})).toBeNull();
});
});