parent
ae8f0f36d8
commit
24caa2cfcd
@ -0,0 +1,10 @@
|
||||
const generateProfileLink = (user, name = '') => {
|
||||
const baseLinkParams = { name: 'user-profile' }
|
||||
const { id } = user
|
||||
|
||||
return { ...baseLinkParams, params: (isExternal(user) ? { id } : { name }) }
|
||||
}
|
||||
|
||||
const isExternal = ({screen_name}) => (screen_name.indexOf('@') > 0)
|
||||
|
||||
export default generateProfileLink
|
@ -0,0 +1,15 @@
|
||||
import generateProfileLink from 'src/services/user_profile_link_generator/user_profile_link_generator'
|
||||
|
||||
describe('generateProfileLink', () => {
|
||||
it('returns obj for local user', () => {
|
||||
const user = { screen_name: 'john' }
|
||||
|
||||
expect(generateProfileLink(user, 'jack')).to.eql({ name: 'user-profile', params: { name: 'jack' } })
|
||||
})
|
||||
|
||||
it('returns obj for external user', () => {
|
||||
const user = { screen_name: 'john@domain', id: 1 }
|
||||
|
||||
expect(generateProfileLink(user)).to.eql({ name: 'user-profile', params: { id: 1 } })
|
||||
})
|
||||
})
|
Loading…
Reference in new issue