From 9319cdc816993200e8e2fd45a983fb8b8bdceeb2 Mon Sep 17 00:00:00 2001 From: patrixampm Date: Fri, 14 Feb 2025 14:46:51 +0100 Subject: [PATCH] Tests added to mapUserFromModelToApi. Tests fail when user is null or undefined. --- src/pods/user/user.mappers.spec.ts | 73 ++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 src/pods/user/user.mappers.spec.ts diff --git a/src/pods/user/user.mappers.spec.ts b/src/pods/user/user.mappers.spec.ts new file mode 100644 index 0000000..c929550 --- /dev/null +++ b/src/pods/user/user.mappers.spec.ts @@ -0,0 +1,73 @@ +import { ObjectId } from 'mongodb'; +import * as model from '#dals/user/user.model.js'; +import * as apiModel from './user.api-model.js'; +import { mapUserFromModelToApi } from './user.mappers.js'; + +describe('pods/user/user.mappers', () => { + describe('mapUserFromModelToApi', () => { + it('should return one mapped user when required', () => { + // Arrange + const user: model.Usuario = { + _id: new ObjectId('6543d1516ea297f6f49108e5'), + nombre: 'TestName', + apellido: 'TestSurname', + email: 'test@example.com', + telefono: '910000000', + movil: '620000000', + rol: { + id: '677d15fd24c5646a1f7f69c0', + nombre: 'Usuario-Administrador', + }, + esResponsable: true, + esProponente: true, + esAutorizante: false, + esContraseñaTemporal: false, + contraseña: 'test123', + unidad: { + id: '677d1539c3cb57a1f7b57e77', + nombre: 'Unidad E', + code: 'E1', + }, + }; + + // Act + const result = mapUserFromModelToApi(user); + + // Assert + const expectedResult: apiModel.Usuario = { + id: '6543d1516ea297f6f49108e5', + nombre: 'TestName', + apellido: 'TestSurname', + email: 'test@example.com', + telefono: '910000000', + movil: '620000000', + rol: { + id: '677d15fd24c5646a1f7f69c0', + nombre: 'Usuario-Administrador', + }, + esResponsable: true, + esProponente: true, + esAutorizante: false, + unidad: { + id: '677d1539c3cb57a1f7b57e77', + nombre: 'Unidad E', + code: 'E1', + }, + }; + expect(result).toEqual(expectedResult); + }); + + it.each<{ user: model.Usuario }>([{ user: undefined }, { user: null }])( + 'should return undefined when user equals $user', + ({ user }) => { + // Arrange + + // Act + const result = mapUserFromModelToApi(user); + + // Assert + expect(result).toEqual(undefined); + } + ); + }); +});