fix issues

This commit is contained in:
2025-12-26 11:49:20 +01:00
parent d08ec10b40
commit 68ae9da22a
44 changed files with 505 additions and 179 deletions

View File

@@ -1,7 +1,25 @@
import React from 'react';
import { describe, it, expect } from 'vitest';
import { describe, it, expect, vi } from 'vitest';
import { render, screen } from '@testing-library/react';
vi.mock('@/lib/services/ServiceProvider', () => ({
useServices: () => ({
mediaService: {
getLeagueLogo: () => '/logo.png',
},
}),
}));
vi.mock('@/components/leagues/MembershipStatus', () => ({
__esModule: true,
default: () => <div data-testid="membership-status" />,
}));
vi.mock('next/image', () => ({
__esModule: true,
default: (props: any) => <img {...props} />,
}));
import LeagueHeader from './LeagueHeader';
describe('LeagueHeader', () => {

View File

@@ -21,23 +21,23 @@ vi.mock('@/hooks/useEffectiveDriverId', () => {
});
// Mock services hook to inject stub leagueMembershipService and driverService
const mockFetchLeagueMemberships = vi.fn<[], Promise<any[]>>();
const mockFetchLeagueMemberships = vi.fn<(leagueId: string) => Promise<void>>();
const mockGetLeagueMembers = vi.fn<(leagueId: string) => any[]>();
const mockFindByIds = vi.fn<(ids: string[]) => Promise<DriverDTO[]>>();
vi.mock('@/lib/services/ServiceProvider', () => {
return {
useServices: () => ({
leagueMembershipService: {
fetchLeagueMemberships: mockFetchLeagueMemberships,
getLeagueMembers: mockGetLeagueMembers,
},
driverService: {
findByIds: mockFindByIds,
},
}),
};
});
const mockServices = {
leagueMembershipService: {
fetchLeagueMemberships: mockFetchLeagueMemberships,
getLeagueMembers: mockGetLeagueMembers,
},
driverService: {
findByIds: mockFindByIds,
},
};
vi.mock('@/lib/services/ServiceProvider', () => ({
useServices: () => mockServices,
}));
describe('LeagueMembers', () => {
beforeEach(() => {
@@ -74,16 +74,18 @@ describe('LeagueMembers', () => {
iracingId: 'ir-1',
name: 'Driver One',
country: 'DE',
joinedAt: '2024-01-01T00:00:00.000Z',
},
{
id: 'driver-2',
iracingId: 'ir-2',
name: 'Driver Two',
country: 'US',
joinedAt: '2024-01-01T00:00:00.000Z',
},
];
mockFetchLeagueMemberships.mockResolvedValue(memberships);
mockFetchLeagueMemberships.mockResolvedValue(undefined);
mockGetLeagueMembers.mockReturnValue(memberships);
mockFindByIds.mockResolvedValue(drivers);
@@ -114,7 +116,7 @@ describe('LeagueMembers', () => {
it('handles empty membership list gracefully', async () => {
const leagueId = 'league-empty';
mockFetchLeagueMemberships.mockResolvedValue([]);
mockFetchLeagueMemberships.mockResolvedValue(undefined);
mockGetLeagueMembers.mockReturnValue([]);
mockFindByIds.mockResolvedValue([]);