refactor(persons): simplify Person model by consolidating fields and updating related tests

This commit is contained in:
Mathis HERRIOT 2025-05-17 00:12:01 +02:00
parent a1abde36e6
commit ea6684b7fa
No known key found for this signature in database
GPG Key ID: E7EB4A211D8D4907
3 changed files with 23 additions and 40 deletions

View File

@ -1,7 +1,7 @@
import { Test, TestingModule } from '@nestjs/testing';
import { PersonsController } from './persons.controller';
import { PersonsService } from '../services/persons.service';
import { CreatePersonDto, Gender, OralEaseLevel } from '../dto/create-person.dto';
import { CreatePersonDto } from '../dto/create-person.dto';
import { UpdatePersonDto } from '../dto/update-person.dto';
import { JwtAuthGuard } from '../../auth/guards/jwt-auth.guard';
@ -12,16 +12,10 @@ describe('PersonsController', () => {
// Mock data
const mockPerson = {
id: 'person1',
firstName: 'John',
lastName: 'Doe',
gender: Gender.MALE,
technicalLevel: 3,
hasTechnicalTraining: true,
frenchSpeakingLevel: 4,
oralEaseLevel: OralEaseLevel.COMFORTABLE,
age: 30,
name: 'John Doe',
projectId: 'project1',
attributes: {},
skills: ['JavaScript', 'TypeScript'],
metadata: {},
createdAt: new Date(),
updatedAt: new Date(),
};
@ -66,14 +60,10 @@ describe('PersonsController', () => {
describe('create', () => {
it('should create a new person', async () => {
const createPersonDto: CreatePersonDto = {
firstName: 'John',
lastName: 'Doe',
gender: Gender.MALE,
technicalLevel: 3,
hasTechnicalTraining: true,
frenchSpeakingLevel: 4,
oralEaseLevel: OralEaseLevel.COMFORTABLE,
name: 'John Doe',
projectId: 'project1',
skills: ['JavaScript', 'TypeScript'],
metadata: {},
};
expect(await controller.create(createPersonDto)).toBe(mockPerson);
@ -106,7 +96,7 @@ describe('PersonsController', () => {
it('should update a person', async () => {
const id = 'person1';
const updatePersonDto: UpdatePersonDto = {
firstName: 'Jane',
name: 'Jane Doe',
};
expect(await controller.update(id, updatePersonDto)).toBe(mockPerson);

View File

@ -2,7 +2,6 @@ import { Test, TestingModule } from '@nestjs/testing';
import { PersonsService } from './persons.service';
import { NotFoundException } from '@nestjs/common';
import { DRIZZLE } from '../../../database/database.module';
import { Gender, OralEaseLevel } from '../dto/create-person.dto';
describe('PersonsService', () => {
let service: PersonsService;
@ -11,16 +10,10 @@ describe('PersonsService', () => {
// Mock data
const mockPerson = {
id: 'person1',
firstName: 'John',
lastName: 'Doe',
gender: Gender.MALE,
technicalLevel: 3,
hasTechnicalTraining: true,
frenchSpeakingLevel: 4,
oralEaseLevel: OralEaseLevel.COMFORTABLE,
age: 30,
name: 'John Doe',
projectId: 'project1',
attributes: {},
skills: ['JavaScript', 'TypeScript'],
metadata: {},
createdAt: new Date(),
updatedAt: new Date(),
};
@ -83,14 +76,10 @@ describe('PersonsService', () => {
describe('create', () => {
it('should create a new person', async () => {
const createPersonDto = {
firstName: 'John',
lastName: 'Doe',
gender: Gender.MALE,
technicalLevel: 3,
hasTechnicalTraining: true,
frenchSpeakingLevel: 4,
oralEaseLevel: OralEaseLevel.COMFORTABLE,
name: 'John Doe',
projectId: 'project1',
skills: ['JavaScript', 'TypeScript'],
metadata: {},
};
const result = await service.create(createPersonDto);
@ -159,7 +148,7 @@ describe('PersonsService', () => {
it('should update a person', async () => {
const id = 'person1';
const updatePersonDto = {
firstName: 'Jane',
name: 'Jane Doe',
};
const result = await service.update(id, updatePersonDto);
@ -173,7 +162,7 @@ describe('PersonsService', () => {
it('should throw NotFoundException if person not found', async () => {
const id = 'nonexistent';
const updatePersonDto = {
firstName: 'Jane',
name: 'Jane Doe',
};
mockDb.update.mockImplementationOnce(() => mockDbOperations);

View File

@ -126,9 +126,13 @@ describe('ProjectsController', () => {
it('should check if a user has access to a project', async () => {
const projectId = 'project1';
const userId = 'user1';
const mockRes = {
json: jest.fn().mockReturnValue(true)
};
expect(await controller.checkUserAccess(projectId, userId)).toBe(true);
await controller.checkUserAccess(projectId, userId, mockRes);
expect(service.checkUserAccess).toHaveBeenCalledWith(projectId, userId);
expect(mockRes.json).toHaveBeenCalledWith(true);
});
});