feat(users): enhance user schema and extend service dependencies

Add `email` and `status` fields to user schema for better data handling. Update `UsersService` with new service dependencies (`RbacService`, `MediaService`, `S3Service`, `ConfigService`) for enhanced functionality. Mock dependencies in tests for improved coverage. Adjust user model with optional and extended fields for flexibility. Streamline and update import statements.
This commit is contained in:
Mathis HERRIOT
2026-01-14 21:58:28 +01:00
parent 02d70f27ea
commit 3908989b39
5 changed files with 39 additions and 8 deletions

View File

@@ -1,3 +1,7 @@
jest.mock("uuid", () => ({
v4: jest.fn(() => "mocked-uuid"),
}));
jest.mock("@noble/post-quantum/ml-kem.js", () => ({
ml_kem768: {
keygen: jest.fn(),
@@ -12,7 +16,11 @@ jest.mock("jose", () => ({
}));
import { CACHE_MANAGER } from "@nestjs/cache-manager";
import { ConfigService } from "@nestjs/config";
import { Test, TestingModule } from "@nestjs/testing";
import { RbacService } from "../auth/rbac.service";
import { MediaService } from "../media/media.service";
import { S3Service } from "../s3/s3.service";
import { UsersRepository } from "./repositories/users.repository";
import { UsersService } from "./users.service";
@@ -39,6 +47,23 @@ describe("UsersService", () => {
del: jest.fn(),
};
const mockRbacService = {
getUserRoles: jest.fn(),
};
const mockMediaService = {
scanFile: jest.fn(),
processImage: jest.fn(),
};
const mockS3Service = {
uploadFile: jest.fn(),
};
const mockConfigService = {
get: jest.fn(),
};
beforeEach(async () => {
jest.clearAllMocks();
@@ -47,6 +72,10 @@ describe("UsersService", () => {
UsersService,
{ provide: UsersRepository, useValue: mockUsersRepository },
{ provide: CACHE_MANAGER, useValue: mockCacheManager },
{ provide: RbacService, useValue: mockRbacService },
{ provide: MediaService, useValue: mockMediaService },
{ provide: S3Service, useValue: mockS3Service },
{ provide: ConfigService, useValue: mockConfigService },
],
}).compile();