core tests
Some checks failed
CI / lint-typecheck (push) Failing after 4m52s
CI / tests (push) Has been skipped
CI / contract-tests (push) Has been skipped
CI / e2e-tests (push) Has been skipped
CI / comment-pr (push) Has been skipped
CI / commit-types (push) Has been skipped

This commit is contained in:
2026-01-25 11:38:16 +01:00
parent 3db2209d2a
commit 9f219c0181
6 changed files with 34 additions and 7 deletions

View File

@@ -5,11 +5,13 @@ import { describe, expect, it, vi, type Mock } from 'vitest';
import type { Payment } from '../../domain/entities/Payment';
import { PayerType, PaymentStatus, PaymentType } from '../../domain/entities/Payment';
import type { PaymentRepository } from '../../domain/repositories/PaymentRepository';
import type { SponsorRepository } from '@core/racing/domain/repositories/SponsorRepository';
import { GetSponsorBillingUseCase, type GetSponsorBillingInput } from './GetSponsorBillingUseCase';
describe('GetSponsorBillingUseCase', () => {
let paymentRepository: { findByFilters: Mock };
let seasonSponsorshipRepository: { findBySponsorId: Mock };
let sponsorRepository: { findById: Mock };
let useCase: GetSponsorBillingUseCase;
beforeEach(() => {
@@ -21,15 +23,26 @@ describe('GetSponsorBillingUseCase', () => {
findBySponsorId: vi.fn(),
};
sponsorRepository = {
findById: vi.fn(),
};
useCase = new GetSponsorBillingUseCase(
paymentRepository as unknown as PaymentRepository,
seasonSponsorshipRepository as unknown as SeasonSponsorshipRepository,
sponsorRepository as unknown as SponsorRepository,
);
});
it('derives invoices and stats from payments and sponsorships', async () => {
const sponsorId = 'sponsor-1';
// Mock sponsor exists
sponsorRepository.findById.mockResolvedValue({
id: sponsorId,
name: 'Test Sponsor',
});
const payments: Payment[] = [
{
id: 'pay-1',