cadfa70e60
* #708 apply strictier linting rules and fix simple eslint bugs * #708 fix eslint errors relate to promise * #708 fix eslint import/no-extraneous-dependencies * #708 fix eslint errors of react-hook * #708 enable eslint check for typescript --------- Co-authored-by: lethemanh <lethemanh@lethemanhs-MacBook-Pro.local>
93 lines
2.3 KiB
TypeScript
93 lines
2.3 KiB
TypeScript
import { userData } from '@/features/User/userDataTypes'
|
|
import { getUserDisplayName } from '@/utils/userUtils'
|
|
|
|
describe('userUtils', () => {
|
|
describe('getUserDisplayName', () => {
|
|
it('returns full name when user has name and family_name', () => {
|
|
const user: userData = {
|
|
sub: 'test',
|
|
email: 'test@test.com',
|
|
family_name: 'Doe',
|
|
given_name: 'John',
|
|
name: 'John',
|
|
sid: 'mockSid'
|
|
}
|
|
|
|
expect(getUserDisplayName(user)).toBe('John Doe')
|
|
})
|
|
|
|
it('returns email when user does not have name and family_name', () => {
|
|
const user: userData = {
|
|
sub: 'test',
|
|
email: 'test@test.com',
|
|
family_name: '',
|
|
given_name: '',
|
|
name: '',
|
|
sid: 'mockSid'
|
|
}
|
|
|
|
expect(getUserDisplayName(user)).toBe('test@test.com')
|
|
})
|
|
|
|
it('returns email when user has only email', () => {
|
|
const user: userData = {
|
|
sub: 'test',
|
|
email: 'user@example.com',
|
|
family_name: '',
|
|
given_name: '',
|
|
name: '',
|
|
sid: 'mockSid'
|
|
}
|
|
|
|
expect(getUserDisplayName(user)).toBe('user@example.com')
|
|
})
|
|
|
|
it('returns empty string when user is null', () => {
|
|
expect(getUserDisplayName(null)).toBe('')
|
|
})
|
|
|
|
it('returns empty string when user is undefined', () => {
|
|
expect(getUserDisplayName(undefined)).toBe('')
|
|
})
|
|
|
|
it('returns empty string when user has no name, family_name, or email', () => {
|
|
const user: userData = {
|
|
sub: 'test',
|
|
email: '',
|
|
family_name: '',
|
|
given_name: '',
|
|
name: '',
|
|
sid: 'mockSid'
|
|
}
|
|
|
|
expect(getUserDisplayName(user)).toBe('')
|
|
})
|
|
|
|
it('handles user with only name (no family_name)', () => {
|
|
const user: userData = {
|
|
sub: 'test',
|
|
email: 'test@test.com',
|
|
family_name: '',
|
|
given_name: 'John',
|
|
name: 'John',
|
|
sid: 'mockSid'
|
|
}
|
|
|
|
expect(getUserDisplayName(user)).toBe('test@test.com')
|
|
})
|
|
|
|
it('handles user with only family_name (no name)', () => {
|
|
const user: userData = {
|
|
sub: 'test',
|
|
email: 'test@test.com',
|
|
family_name: 'Doe',
|
|
given_name: '',
|
|
name: '',
|
|
sid: 'mockSid'
|
|
}
|
|
|
|
expect(getUserDisplayName(user)).toBe('test@test.com')
|
|
})
|
|
})
|
|
})
|