From cfc5c10efe7c63d2b3af750f7c26cf2bcf268ffd Mon Sep 17 00:00:00 2001 From: Wuesteon Date: Thu, 25 Dec 2025 20:03:14 +0100 Subject: [PATCH] fix(tests): add missing service mocks to e2e integration tests - Import SecurityEventsService and Referral services - Provide mocks for all BetterAuthService dependencies - Fixes 'Cannot resolve dependencies' error in test initialization - E2E tests still need real database (works in CI with postgres containers) --- .../integration/role-security.e2e-spec.ts | 29 ++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/services/mana-core-auth/test/integration/role-security.e2e-spec.ts b/services/mana-core-auth/test/integration/role-security.e2e-spec.ts index 7c79e2375..dcfb1e939 100644 --- a/services/mana-core-auth/test/integration/role-security.e2e-spec.ts +++ b/services/mana-core-auth/test/integration/role-security.e2e-spec.ts @@ -15,8 +15,29 @@ import { Test } from '@nestjs/testing'; import type { TestingModule } from '@nestjs/testing'; import { ConfigModule } from '@nestjs/config'; import { BetterAuthService } from '../../src/auth/services/better-auth.service'; +import { SecurityEventsService } from '../../src/security-events/security-events.service'; +import { ReferralCodeService } from '../../src/referrals/referral-code.service'; +import { ReferralTierService } from '../../src/referrals/referral-tier.service'; +import { ReferralTrackingService } from '../../src/referrals/referral-tracking.service'; import configuration from '../../src/config/configuration'; +// Mock services that BetterAuthService depends on +const mockSecurityEventsService = { + logEvent: jest.fn().mockResolvedValue(undefined), +}; + +const mockReferralCodeService = { + createAutoCode: jest.fn().mockResolvedValue({ id: 'code-123', code: 'ABC123' }), +}; + +const mockReferralTierService = { + getTierBenefits: jest.fn().mockResolvedValue({ maxReferrals: 10 }), +}; + +const mockReferralTrackingService = { + trackReferral: jest.fn().mockResolvedValue(undefined), +}; + describe('Role Security Integration Tests', () => { let betterAuthService: BetterAuthService; let module: TestingModule; @@ -29,7 +50,13 @@ describe('Role Security Integration Tests', () => { isGlobal: true, }), ], - providers: [BetterAuthService], + providers: [ + BetterAuthService, + { provide: SecurityEventsService, useValue: mockSecurityEventsService }, + { provide: ReferralCodeService, useValue: mockReferralCodeService }, + { provide: ReferralTierService, useValue: mockReferralTierService }, + { provide: ReferralTrackingService, useValue: mockReferralTrackingService }, + ], }).compile(); betterAuthService = module.get(BetterAuthService);