format name, email, phone in mapper

This commit is contained in:
Sylvain Briat 2023-11-22 14:55:21 +01:00
parent ad185bec92
commit 7a462f4c4b
2 changed files with 13 additions and 7 deletions

View File

@ -11,8 +11,8 @@ const now = new Date('2023-06-21 06:00:00');
const userEntity: UserEntity = new UserEntity({ const userEntity: UserEntity = new UserEntity({
id: 'c160cf8c-f057-4962-841f-3ad68346df44', id: 'c160cf8c-f057-4962-841f-3ad68346df44',
props: { props: {
firstName: 'John', firstName: 'john',
lastName: 'Doe', lastName: 'doe',
email: 'john.doe@email.com', email: 'john.doe@email.com',
phone: '+33611223344', phone: '+33611223344',
}, },
@ -45,7 +45,7 @@ describe('User Mapper', () => {
it('should map domain entity to persistence data', async () => { it('should map domain entity to persistence data', async () => {
const mapped: UserWriteModel = userMapper.toPersistence(userEntity); const mapped: UserWriteModel = userMapper.toPersistence(userEntity);
expect(mapped.lastName).toBe('Doe'); expect(mapped.lastName).toBe('doe');
}); });
it('should map persisted data to domain entity', async () => { it('should map persisted data to domain entity', async () => {

View File

@ -36,10 +36,16 @@ export class UserMapper
createdAt: new Date(record.createdAt), createdAt: new Date(record.createdAt),
updatedAt: new Date(record.updatedAt), updatedAt: new Date(record.updatedAt),
props: { props: {
firstName: record.firstName, firstName: `${record.firstName
lastName: record.lastName, ?.trim()
email: record.email, .charAt(0)
phone: record.phone, .toUpperCase()}${record.firstName?.trim().toLowerCase().slice(1)}`,
lastName: `${record.lastName
?.trim()
.charAt(0)
.toUpperCase()}${record.lastName?.trim().toLowerCase().slice(1)}`,
email: record.email?.trim().toLowerCase(),
phone: record.phone?.trim(),
}, },
}); });
return entity; return entity;