refactor(persons): simplify Person
model by consolidating fields and updating related tests
This commit is contained in:
parent
a1abde36e6
commit
ea6684b7fa
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
});
|
||||
});
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user