code quality
Some checks failed
CI / lint-typecheck (pull_request) Failing after 1m29s
CI / tests (pull_request) Has been skipped
CI / contract-tests (pull_request) Has been skipped
CI / e2e-tests (pull_request) Has been skipped
CI / comment-pr (pull_request) Has been skipped
CI / commit-types (pull_request) Has been skipped
Some checks failed
CI / lint-typecheck (pull_request) Failing after 1m29s
CI / tests (pull_request) Has been skipped
CI / contract-tests (pull_request) Has been skipped
CI / e2e-tests (pull_request) Has been skipped
CI / comment-pr (pull_request) Has been skipped
CI / commit-types (pull_request) Has been skipped
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
|
||||
import { describe, it, expect, vi, beforeEach } from 'vitest';
|
||||
import { GetUserRatingLedgerQueryHandler } from './GetUserRatingLedgerQuery';
|
||||
import { RatingEventRepository, RatingEventFilter } from '../../domain/repositories/RatingEventRepository';
|
||||
import { RatingEventRepository } from '../../domain/repositories/RatingEventRepository';
|
||||
|
||||
// Mock repository
|
||||
const createMockRepository = () => ({
|
||||
|
||||
@@ -6,10 +6,6 @@
|
||||
|
||||
import { describe, it, expect, vi, beforeEach } from 'vitest';
|
||||
import { CloseAdminVoteSessionUseCase } from './CloseAdminVoteSessionUseCase';
|
||||
import { AdminVoteSessionRepository } from '../../domain/repositories/AdminVoteSessionRepository';
|
||||
import { RatingEventRepository } from '../../domain/repositories/RatingEventRepository';
|
||||
import { UserRatingRepository } from '../../domain/repositories/UserRatingRepository';
|
||||
import { AdminVoteSession } from '../../domain/entities/AdminVoteSession';
|
||||
import { RatingEventFactory } from '../../domain/services/RatingEventFactory';
|
||||
import { RatingSnapshotCalculator } from '../../domain/services/RatingSnapshotCalculator';
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@ import {
|
||||
DriverRankingsQuery,
|
||||
DriverRankingsResult,
|
||||
DriverRankingEntry,
|
||||
PaginationMetadata,
|
||||
} from '../ports/DriverRankingsQuery';
|
||||
import { ValidationError } from '../../../shared/errors/ValidationError';
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@ import {
|
||||
TeamRankingsQuery,
|
||||
TeamRankingsResult,
|
||||
TeamRankingEntry,
|
||||
PaginationMetadata,
|
||||
} from '../ports/TeamRankingsQuery';
|
||||
import { ValidationError } from '../../../shared/errors/ValidationError';
|
||||
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
import { describe, it, expect, vi, beforeEach } from 'vitest';
|
||||
import { JoinLeagueUseCase } from './JoinLeagueUseCase';
|
||||
import type { LeagueRepository } from '../ports/LeagueRepository';
|
||||
import type { DriverRepository } from '../../../racing/domain/repositories/DriverRepository';
|
||||
import type { EventPublisher } from '../../../shared/ports/EventPublisher';
|
||||
import type { JoinLeagueCommand } from '../ports/JoinLeagueCommand';
|
||||
|
||||
const mockLeagueRepository = {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { LeagueRepository, LeagueData } from '../ports/LeagueRepository';
|
||||
import { LeagueRepository } from '../ports/LeagueRepository';
|
||||
import { DriverRepository } from '../../../racing/domain/repositories/DriverRepository';
|
||||
import { EventPublisher } from '../../../shared/ports/EventPublisher';
|
||||
import { JoinLeagueCommand } from '../ports/JoinLeagueCommand';
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import { Result } from '@core/shared/domain/Result';
|
||||
import { describe, expect, it, vi, type Mock } from 'vitest';
|
||||
import type { MediaResolverPort } from '@core/ports/media/MediaResolverPort';
|
||||
import { ResolveMediaReferenceUseCase } from './ResolveMediaReferenceUseCase';
|
||||
|
||||
@@ -19,15 +19,6 @@ describe('NotificationGateway - Interface Contract', () => {
|
||||
getChannel: vi.fn().mockReturnValue('in_app'),
|
||||
};
|
||||
|
||||
const notification = Notification.create({
|
||||
id: 'test-id',
|
||||
recipientId: 'driver-1',
|
||||
type: 'system_announcement',
|
||||
title: 'Test',
|
||||
body: 'Test body',
|
||||
channel: 'in_app',
|
||||
});
|
||||
|
||||
expect(mockGateway.send).toBeDefined();
|
||||
expect(typeof mockGateway.send).toBe('function');
|
||||
});
|
||||
|
||||
@@ -201,17 +201,6 @@ describe('NotificationPreferenceRepository - Integration', () => {
|
||||
it('handles workflow: get or create, then update', async () => {
|
||||
const defaultPreference = NotificationPreference.createDefault('driver-1');
|
||||
|
||||
const updatedPreference = NotificationPreference.create({
|
||||
id: 'driver-1',
|
||||
driverId: 'driver-1',
|
||||
channels: {
|
||||
in_app: { enabled: true },
|
||||
email: { enabled: true },
|
||||
discord: { enabled: false },
|
||||
push: { enabled: false },
|
||||
},
|
||||
});
|
||||
|
||||
const mockRepository: NotificationPreferenceRepository = {
|
||||
findByDriverId: vi.fn().mockResolvedValue(null),
|
||||
save: vi.fn().mockResolvedValue(undefined),
|
||||
|
||||
@@ -24,7 +24,7 @@ describe('MediaResolverPort - Comprehensive Tests', () => {
|
||||
it('should define resolve method signature correctly', () => {
|
||||
// Verify the interface has the correct method signature
|
||||
const testInterface: MediaResolverPort = {
|
||||
resolve: async (ref: MediaReference): Promise<string | null> => {
|
||||
resolve: async (): Promise<string | null> => {
|
||||
return null;
|
||||
},
|
||||
};
|
||||
@@ -124,7 +124,6 @@ describe('MediaResolverPort - Comprehensive Tests', () => {
|
||||
|
||||
it('should return null for generated reference without generationRequestId', () => {
|
||||
// Create a reference with missing generationRequestId
|
||||
const ref = MediaReference.createGenerated('valid-id');
|
||||
// Manually create an invalid reference
|
||||
const invalidRef = { type: 'generated' } as MediaReference;
|
||||
const result = ResolutionStrategies.generated(invalidRef);
|
||||
@@ -164,7 +163,6 @@ describe('MediaResolverPort - Comprehensive Tests', () => {
|
||||
|
||||
it('should return null for uploaded reference without mediaId', () => {
|
||||
// Create a reference with missing mediaId
|
||||
const ref = MediaReference.createUploaded('valid-id');
|
||||
// Manually create an invalid reference
|
||||
const invalidRef = { type: 'uploaded' } as MediaReference;
|
||||
const result = ResolutionStrategies.uploaded(invalidRef);
|
||||
@@ -284,7 +282,7 @@ describe('MediaResolverPort - Comprehensive Tests', () => {
|
||||
describe('isMediaResolverPort Type Guard', () => {
|
||||
it('should return true for valid MediaResolverPort implementation', () => {
|
||||
const validResolver: MediaResolverPort = {
|
||||
resolve: async (ref: MediaReference): Promise<string | null> => {
|
||||
resolve: async (): Promise<string | null> => {
|
||||
return '/test/path';
|
||||
},
|
||||
};
|
||||
@@ -332,7 +330,7 @@ describe('MediaResolverPort - Comprehensive Tests', () => {
|
||||
|
||||
it('should return true for object with resolve method and other properties', () => {
|
||||
const validResolver = {
|
||||
resolve: async (ref: MediaReference): Promise<string | null> => {
|
||||
resolve: async (): Promise<string | null> => {
|
||||
return '/test/path';
|
||||
},
|
||||
extraProperty: 'value',
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import { describe, it, expect, vi } from 'vitest';
|
||||
import { GetDriverUseCase } from './GetDriverUseCase';
|
||||
import { Result } from '@core/shared/domain/Result';
|
||||
import type { DriverRepository } from '../../domain/repositories/DriverRepository';
|
||||
import type { Driver } from '../../domain/entities/Driver';
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import { describe, it, expect, vi } from 'vitest';
|
||||
import { GetTeamsLeaderboardUseCase } from './GetTeamsLeaderboardUseCase';
|
||||
import { Result } from '@core/shared/domain/Result';
|
||||
import type { TeamRepository } from '../../domain/repositories/TeamRepository';
|
||||
import type { TeamMembershipRepository } from '../../domain/repositories/TeamMembershipRepository';
|
||||
import type { Logger } from '@core/shared/domain/Logger';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { describe, it, expect, vi } from 'vitest';
|
||||
import { RankingUseCase, type DriverRanking } from './RankingUseCase';
|
||||
import { RankingUseCase } from './RankingUseCase';
|
||||
import type { StandingRepository } from '../../domain/repositories/StandingRepository';
|
||||
import type { DriverRepository } from '../../domain/repositories/DriverRepository';
|
||||
import type { DriverStatsRepository } from '../../domain/repositories/DriverStatsRepository';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { describe, it, expect, vi } from 'vitest';
|
||||
import { describe, it, expect } from 'vitest';
|
||||
import { RaceResultGenerator } from './RaceResultGenerator';
|
||||
|
||||
describe('RaceResultGenerator', () => {
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import { describe, it, expect, vi } from 'vitest';
|
||||
import { ChampionshipAggregator } from './ChampionshipAggregator';
|
||||
import type { DropScoreApplier } from './DropScoreApplier';
|
||||
import { Points } from '../value-objects/Points';
|
||||
|
||||
describe('ChampionshipAggregator', () => {
|
||||
const mockDropScoreApplier = {
|
||||
|
||||
@@ -9,8 +9,6 @@ import { CalculateRatingUseCase } from './CalculateRatingUseCase';
|
||||
import { Driver } from '../../../racing/domain/entities/Driver';
|
||||
import { Race } from '../../../racing/domain/entities/Race';
|
||||
import { Result } from '../../../racing/domain/entities/result/Result';
|
||||
import { Rating } from '../../domain/Rating';
|
||||
import { RatingCalculatedEvent } from '../../domain/events/RatingCalculatedEvent';
|
||||
|
||||
// Mock repositories and publisher
|
||||
const mockDriverRepository = {
|
||||
|
||||
@@ -40,10 +40,6 @@ export class GetRatingLeaderboardUseCase {
|
||||
const { limit = 50, offset = 0 } = request;
|
||||
|
||||
try {
|
||||
// Get all ratings
|
||||
const allRatings: Rating[] = [];
|
||||
const driverIds = new Set<string>();
|
||||
|
||||
// Group ratings by driver and get latest rating for each driver
|
||||
const driverRatings = new Map<string, Rating>();
|
||||
|
||||
|
||||
@@ -95,7 +95,7 @@ describe('DomainEvent', () => {
|
||||
describe('DomainEventPublisher interface', () => {
|
||||
it('should have publish method', async () => {
|
||||
const mockPublisher: DomainEventPublisher = {
|
||||
publish: async (event: DomainEvent) => {
|
||||
publish: async () => {
|
||||
// Mock implementation
|
||||
return Promise.resolve();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user