refactor(api): enhance logic

This commit is contained in:
yassinedorbozgithub 2025-06-18 14:08:48 +01:00
parent 369ef033a2
commit b7576c04e9
8 changed files with 10 additions and 11 deletions

View File

@ -54,7 +54,7 @@ describe('AttachmentController', () => {
beforeAll(async () => { beforeAll(async () => {
const { getMocks, resolveMocks } = await buildTestingMocks({ const { getMocks, resolveMocks } = await buildTestingMocks({
autoInjectFrom: ['all'], autoInjectFrom: ['controllers', 'providers'],
controllers: [AttachmentController], controllers: [AttachmentController],
imports: [ imports: [
rootMongooseTestModule(async () => { rootMongooseTestModule(async () => {

View File

@ -38,7 +38,7 @@ describe('LabelController', () => {
beforeAll(async () => { beforeAll(async () => {
const { getMocks } = await buildTestingMocks({ const { getMocks } = await buildTestingMocks({
autoInjectFrom: ['all'], autoInjectFrom: ['controllers', 'providers'],
controllers: [LabelController], controllers: [LabelController],
imports: [rootMongooseTestModule(installSubscriberFixtures)], imports: [rootMongooseTestModule(installSubscriberFixtures)],
providers: [SubscriberService], providers: [SubscriberService],

View File

@ -41,7 +41,7 @@ describe('MessageController', () => {
beforeAll(async () => { beforeAll(async () => {
const { getMocks } = await buildTestingMocks({ const { getMocks } = await buildTestingMocks({
autoInjectFrom: ['all'], autoInjectFrom: ['controllers', 'providers'],
controllers: [MessageController], controllers: [MessageController],
imports: [rootMongooseTestModule(installMessageFixtures)], imports: [rootMongooseTestModule(installMessageFixtures)],
providers: [UserService], providers: [UserService],

View File

@ -39,7 +39,7 @@ describe('SubscriberController', () => {
beforeAll(async () => { beforeAll(async () => {
const { getMocks } = await buildTestingMocks({ const { getMocks } = await buildTestingMocks({
autoInjectFrom: ['all'], autoInjectFrom: ['controllers', 'providers'],
controllers: [SubscriberController], controllers: [SubscriberController],
imports: [rootMongooseTestModule(installSubscriberFixtures)], imports: [rootMongooseTestModule(installSubscriberFixtures)],
providers: [LabelService, UserService], providers: [LabelService, UserService],

View File

@ -45,7 +45,7 @@ describe('AuthController', () => {
beforeAll(async () => { beforeAll(async () => {
const { getMocks } = await buildTestingMocks({ const { getMocks } = await buildTestingMocks({
models: ['PermissionModel'], models: ['PermissionModel'],
autoInjectFrom: ['all'], autoInjectFrom: ['controllers', 'providers'],
controllers: [LocalAuthController], controllers: [LocalAuthController],
imports: [ imports: [
rootMongooseTestModule(async () => { rootMongooseTestModule(async () => {

View File

@ -30,7 +30,7 @@ describe('ModelController', () => {
beforeAll(async () => { beforeAll(async () => {
const { getMocks } = await buildTestingMocks({ const { getMocks } = await buildTestingMocks({
models: ['PermissionModel'], models: ['PermissionModel'],
autoInjectFrom: ['all'], autoInjectFrom: ['controllers', 'providers'],
controllers: [ModelController], controllers: [ModelController],
imports: [rootMongooseTestModule(installModelFixtures)], imports: [rootMongooseTestModule(installModelFixtures)],
providers: [PermissionService], providers: [PermissionService],

View File

@ -37,7 +37,7 @@ describe('RoleController', () => {
beforeAll(async () => { beforeAll(async () => {
const { getMocks } = await buildTestingMocks({ const { getMocks } = await buildTestingMocks({
models: ['InvitationModel'], models: ['InvitationModel'],
autoInjectFrom: ['all'], autoInjectFrom: ['controllers', 'providers'],
controllers: [RoleController], controllers: [RoleController],
imports: [rootMongooseTestModule(installPermissionFixtures)], imports: [rootMongooseTestModule(installPermissionFixtures)],
providers: [PermissionService], providers: [PermissionService],

View File

@ -36,7 +36,7 @@ type buildTestingMocksProps<
| { | {
providers: NonNullable<P>; providers: NonNullable<P>;
controllers: NonNullable<C>; controllers: NonNullable<C>;
autoInjectFrom: 'all'[]; autoInjectFrom: ('providers' | 'controllers')[];
} }
| { | {
providers: NonNullable<P>; providers: NonNullable<P>;
@ -171,17 +171,16 @@ export const buildTestingMocks = async ({
}: buildTestingMocksProps) => { }: buildTestingMocksProps) => {
const nestedProviders = new Set<Provider>(); const nestedProviders = new Set<Provider>();
const injectionFrom = autoInjectFrom as ToUnionArray<typeof autoInjectFrom>; const injectionFrom = autoInjectFrom as ToUnionArray<typeof autoInjectFrom>;
const canAutoInjectFromAll = injectionFrom?.includes('all');
const canAutoInjectFromProviders = injectionFrom?.includes('providers'); const canAutoInjectFromProviders = injectionFrom?.includes('providers');
const canAutoInjectFromControllers = injectionFrom?.includes('controllers'); const canAutoInjectFromControllers = injectionFrom?.includes('controllers');
if (canAutoInjectFromAll || canAutoInjectFromProviders) { if (canAutoInjectFromProviders) {
[...providers, ...getNestedDependencies(providers)].forEach((provider) => [...providers, ...getNestedDependencies(providers)].forEach((provider) =>
nestedProviders.add(provider), nestedProviders.add(provider),
); );
} }
if (canAutoInjectFromAll || canAutoInjectFromControllers) { if (canAutoInjectFromControllers) {
[...getNestedDependencies(controllers)].forEach((controller) => [...getNestedDependencies(controllers)].forEach((controller) =>
nestedProviders.add(controller), nestedProviders.add(controller),
); );