admin/lib/resolveUserAvatarSrc.test.ts
alisaza e1eaf5eff5 feat: initial ghabilee-admin backoffice app
Extract admin dashboard from ghabilee-frontend2 into a dedicated Next.js
app for backoffice.ghabilee.ir (no SEO indexing / Clarity).
2026-09-05 13:12:59 +03:30

23 lines
895 B
TypeScript

import { describe, expect, it } from 'vitest'
import { DEFAULT_AVATAR_FEMALE, DEFAULT_AVATAR_MALE, DEFAULT_AVATAR_OTHER } from '@/constants/images'
import { resolveUserAvatarSrc } from '@/lib/resolveUserAvatarSrc'
describe('resolveUserAvatarSrc', () => {
it('prefers a non-empty avatar URL', () => {
expect(
resolveUserAvatarSrc({
avatarUrl: ' https://cdn.example.com/a.jpg ',
gender: 'female',
})
).toBe('https://cdn.example.com/a.jpg')
})
it('uses gender placeholders when avatar is missing', () => {
expect(resolveUserAvatarSrc({ gender: 'male' })).toBe(DEFAULT_AVATAR_MALE)
expect(resolveUserAvatarSrc({ gender: 'female' })).toBe(DEFAULT_AVATAR_FEMALE)
expect(resolveUserAvatarSrc({ gender: 'other' })).toBe(DEFAULT_AVATAR_OTHER)
expect(resolveUserAvatarSrc({ avatarUrl: ' ', gender: null })).toBe(DEFAULT_AVATAR_OTHER)
})
})