diff --git a/services/mana-core-auth/src/credits/credits.controller.spec.ts b/services/mana-core-auth/src/credits/credits.controller.spec.ts index c7dab92f0..1ed16f732 100644 --- a/services/mana-core-auth/src/credits/credits.controller.spec.ts +++ b/services/mana-core-auth/src/credits/credits.controller.spec.ts @@ -56,13 +56,10 @@ describe('CreditsController', () => { const mockCreditsService = { getBalance: jest.fn(), useCredits: jest.fn(), + useCreditsWithSource: jest.fn(), getTransactionHistory: jest.fn(), getPurchaseHistory: jest.fn(), getPackages: jest.fn(), - allocateCredits: jest.fn(), - getOrganizationBalance: jest.fn(), - getEmployeeCreditBalance: jest.fn(), - deductCredits: jest.fn(), }; const module: TestingModule = await Test.createTestingModule({ @@ -142,12 +139,15 @@ describe('CreditsController', () => { newBalance: 90, }; - creditsService.useCredits.mockResolvedValue(expectedResult as any); + creditsService.useCreditsWithSource.mockResolvedValue(expectedResult as any); const result = await controller.useCredits(mockUser, useCreditsDto); expect(result).toEqual(expectedResult); - expect(creditsService.useCredits).toHaveBeenCalledWith(mockUser.userId, useCreditsDto); + expect(creditsService.useCreditsWithSource).toHaveBeenCalledWith( + mockUser.userId, + useCreditsDto + ); }); it('should pass idempotency key for duplicate prevention', async () => { @@ -159,11 +159,11 @@ describe('CreditsController', () => { idempotencyKey, }); - creditsService.useCredits.mockResolvedValue({ success: true } as any); + creditsService.useCreditsWithSource.mockResolvedValue({ success: true } as any); await controller.useCredits(mockUser, useCreditsDto); - expect(creditsService.useCredits).toHaveBeenCalledWith( + expect(creditsService.useCreditsWithSource).toHaveBeenCalledWith( mockUser.userId, expect.objectContaining({ idempotencyKey }) ); @@ -176,7 +176,7 @@ describe('CreditsController', () => { description: 'Image generation', }); - creditsService.useCredits.mockRejectedValue( + creditsService.useCreditsWithSource.mockRejectedValue( new BadRequestException('Insufficient credits') ); @@ -197,11 +197,11 @@ describe('CreditsController', () => { }, }); - creditsService.useCredits.mockResolvedValue({ success: true } as any); + creditsService.useCreditsWithSource.mockResolvedValue({ success: true } as any); await controller.useCredits(mockUser, useCreditsDto); - expect(creditsService.useCredits).toHaveBeenCalledWith( + expect(creditsService.useCreditsWithSource).toHaveBeenCalledWith( mockUser.userId, expect.objectContaining({ metadata: { diff --git a/services/mana-core-auth/src/credits/credits.service.spec.ts b/services/mana-core-auth/src/credits/credits.service.spec.ts index 0f4b7548c..8d31c1b4d 100644 --- a/services/mana-core-auth/src/credits/credits.service.spec.ts +++ b/services/mana-core-auth/src/credits/credits.service.spec.ts @@ -16,6 +16,7 @@ import { ConfigService } from '@nestjs/config'; import { BadRequestException, NotFoundException, ConflictException } from '@nestjs/common'; import { CreditsService } from './credits.service'; import { StripeService } from '../stripe/stripe.service'; +import { GuildPoolService } from './guild-pool.service'; import { createMockConfigService } from '../__tests__/utils/test-helpers'; import { mockUserFactory, @@ -74,6 +75,17 @@ describe('CreditsService', () => { handleWebhook: jest.fn(), }; + const mockGuildPoolService = { + initializeGuildPool: jest.fn(), + getGuildPoolBalance: jest.fn(), + fundGuildPool: jest.fn(), + useGuildCredits: jest.fn(), + getGuildTransactions: jest.fn(), + setSpendingLimit: jest.fn(), + getSpendingLimits: jest.fn(), + getMemberSpendingSummary: jest.fn(), + }; + const module: TestingModule = await Test.createTestingModule({ providers: [ CreditsService, @@ -85,6 +97,10 @@ describe('CreditsService', () => { provide: StripeService, useValue: mockStripeService, }, + { + provide: GuildPoolService, + useValue: mockGuildPoolService, + }, ], }).compile(); diff --git a/services/mana-core-auth/src/credits/credits.service.ts b/services/mana-core-auth/src/credits/credits.service.ts index adfdba155..0a628a20d 100644 --- a/services/mana-core-auth/src/credits/credits.service.ts +++ b/services/mana-core-auth/src/credits/credits.service.ts @@ -23,7 +23,6 @@ export class CreditsService { private configService: ConfigService, @Inject(forwardRef(() => StripeService)) private stripeService: StripeService, - @Inject(forwardRef(() => GuildPoolService)) private guildPoolService: GuildPoolService ) {}