mirror of
https://github.com/IT4Change/gradido.git
synced 2026-02-06 09:56:05 +00:00
slice first_name and last_name after 20 character for humhub
This commit is contained in:
parent
21be12f3b0
commit
c16786cd20
@ -1,4 +1,7 @@
|
||||
/* eslint-disable prettier/prettier */
|
||||
// eslint-disable-next-line import/no-unassigned-import
|
||||
import 'reflect-metadata'
|
||||
import { PublishNameType } from '@/graphql/enum/PublishNameType'
|
||||
import { communityDbUser } from '@/util/communityUser'
|
||||
|
||||
import { isHumhubUserIdenticalToDbUser } from './compareHumhubUserDbUser'
|
||||
@ -13,6 +16,7 @@ describe('isHumhubUserIdenticalToDbUser', () => {
|
||||
defaultUser.alias = 'alias'
|
||||
defaultUser.emailContact.email = 'email@gmail.com'
|
||||
defaultUser.language = 'en'
|
||||
defaultUser.gradidoID = 'gradidoID'
|
||||
})
|
||||
|
||||
it('Should return true because humhubUser was created from entity user', () => {
|
||||
@ -21,6 +25,20 @@ describe('isHumhubUserIdenticalToDbUser', () => {
|
||||
expect(result).toBe(true)
|
||||
})
|
||||
|
||||
it('Should return false, because last name differ because of publish name type', () => {
|
||||
const humhubUser = new GetUser(defaultUser, 1)
|
||||
defaultUser.humhubPublishName = PublishNameType.PUBLISH_NAME_FIRST
|
||||
const result = isHumhubUserIdenticalToDbUser(humhubUser, defaultUser)
|
||||
expect(result).toBe(false)
|
||||
})
|
||||
|
||||
it('Should return true, even if alias is empty', () => {
|
||||
defaultUser.alias = ''
|
||||
const humhubUser = new GetUser(defaultUser, 1)
|
||||
const result = isHumhubUserIdenticalToDbUser(humhubUser, defaultUser)
|
||||
expect(result).toBe(true)
|
||||
})
|
||||
|
||||
it('Should return false because first name differ', () => {
|
||||
const humhubUser = new GetUser(defaultUser, 1)
|
||||
humhubUser.profile.firstname = 'changed first name'
|
||||
|
||||
@ -22,6 +22,10 @@ function isValid(postUser: PostUser, userId: number): boolean {
|
||||
logger.error('firstname too long for humhub, for user with id:', userId)
|
||||
return false
|
||||
}
|
||||
if (postUser.profile.lastname.length > 20) {
|
||||
logger.error('lastname too long for humhub, for user with id:', userId)
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
|
||||
@ -35,12 +35,16 @@ export class PublishNameLogic {
|
||||
* @returns user.firstName for PUBLISH_NAME_FIRST, PUBLISH_NAME_FIRST_INITIAL or PUBLISH_NAME_FULL
|
||||
*/
|
||||
public getFirstName(publishNameType: PublishNameType): string {
|
||||
let firstName = ''
|
||||
if (this.user && typeof this.user.firstName === 'string') {
|
||||
firstName = this.user.firstName
|
||||
}
|
||||
return [
|
||||
PublishNameType.PUBLISH_NAME_FIRST,
|
||||
PublishNameType.PUBLISH_NAME_FIRST_INITIAL,
|
||||
PublishNameType.PUBLISH_NAME_FULL,
|
||||
].includes(publishNameType)
|
||||
? this.user.firstName
|
||||
? firstName.slice(0, 20)
|
||||
: ''
|
||||
}
|
||||
|
||||
@ -51,10 +55,14 @@ export class PublishNameLogic {
|
||||
* first initial from user.lastName for PUBLISH_NAME_FIRST_INITIAL
|
||||
*/
|
||||
public getLastName(publishNameType: PublishNameType): string {
|
||||
let lastName = ''
|
||||
if (this.user && typeof this.user.lastName === 'string') {
|
||||
lastName = this.user.lastName
|
||||
}
|
||||
return publishNameType === PublishNameType.PUBLISH_NAME_FULL
|
||||
? this.user.lastName
|
||||
: publishNameType === PublishNameType.PUBLISH_NAME_FIRST_INITIAL
|
||||
? this.user.lastName.charAt(0)
|
||||
? lastName.slice(0, 20)
|
||||
: publishNameType === PublishNameType.PUBLISH_NAME_FIRST_INITIAL && lastName.length > 0
|
||||
? lastName.charAt(0)
|
||||
: ''
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user