website refactor
This commit is contained in:
@@ -51,11 +51,11 @@ export class PageView extends Entity<string> {
|
||||
this.validate(props);
|
||||
|
||||
const baseProps: PageViewProps = {
|
||||
id: props.id,
|
||||
id: props.id.trim(),
|
||||
entityType: props.entityType,
|
||||
entityId: props.entityId,
|
||||
entityId: props.entityId.trim(),
|
||||
visitorType: props.visitorType,
|
||||
sessionId: props.sessionId,
|
||||
sessionId: props.sessionId.trim(),
|
||||
timestamp: props.timestamp ?? new Date(),
|
||||
...(props.visitorId !== undefined ? { visitorId: props.visitorId } : {}),
|
||||
...(props.referrer !== undefined ? { referrer: props.referrer } : {}),
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import { describe, expect, it, beforeEach } from 'vitest';
|
||||
import { RatingEvent } from '../../domain/entities/RatingEvent';
|
||||
import { RatingEventRepository } from '../../domain/repositories/RatingEventRepository';
|
||||
import { UserRatingRepository } from '../../domain/repositories/UserRatingRepository';
|
||||
@@ -148,7 +149,6 @@ describe('RecordRaceRatingEventsUseCase - Integration', () => {
|
||||
);
|
||||
useCase = new RecordRaceRatingEventsUseCase(
|
||||
raceResultsProvider,
|
||||
ratingEventRepository,
|
||||
userRatingRepository,
|
||||
appendRatingEventsUseCase
|
||||
);
|
||||
|
||||
@@ -130,7 +130,6 @@ describe('RecordRaceRatingEventsUseCase', () => {
|
||||
);
|
||||
useCase = new RecordRaceRatingEventsUseCase(
|
||||
mockRaceResultsProvider,
|
||||
mockRatingEventRepository,
|
||||
mockUserRatingRepository,
|
||||
appendRatingEventsUseCase
|
||||
);
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import { RatingEventRepository } from '../../domain/repositories/RatingEventRepository';
|
||||
import { UserRatingRepository } from '../../domain/repositories/UserRatingRepository';
|
||||
import { RatingEventFactory } from '../../domain/services/RatingEventFactory';
|
||||
import { RecordRaceRatingEventsInput, RecordRaceRatingEventsOutput } from '../dtos/RecordRaceRatingEventsDto';
|
||||
@@ -23,7 +22,6 @@ import { AppendRatingEventsUseCase } from './AppendRatingEventsUseCase';
|
||||
export class RecordRaceRatingEventsUseCase {
|
||||
constructor(
|
||||
private readonly raceResultsProvider: RaceResultsProvider,
|
||||
private readonly ratingEventRepository: RatingEventRepository,
|
||||
private readonly userRatingRepository: UserRatingRepository,
|
||||
private readonly appendRatingEventsUseCase: AppendRatingEventsUseCase,
|
||||
) {}
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
import { TeamRatingEvent } from '@core/racing/domain/entities/TeamRatingEvent';
|
||||
import { TeamRatingEventRepository } from '@core/racing/domain/repositories/TeamRatingEventRepository';
|
||||
import { TeamRatingEventRepository, PaginatedResult } from '@core/racing/domain/repositories/TeamRatingEventRepository';
|
||||
import { TeamRatingRepository } from '@core/racing/domain/repositories/TeamRatingRepository';
|
||||
import { TeamRating } from '@core/racing/domain/value-objects/TeamRating';
|
||||
import { TeamRatingDelta } from '@core/racing/domain/value-objects/TeamRatingDelta';
|
||||
import { TeamRatingDimensionKey } from '@core/racing/domain/value-objects/TeamRatingDimensionKey';
|
||||
import { TeamRatingEventId } from '@core/racing/domain/value-objects/TeamRatingEventId';
|
||||
import { afterEach, beforeEach, describe, expect, it } from 'vitest';
|
||||
import { PaginatedResult } from '../../domain/repositories/TeamRatingEventRepository';
|
||||
import { AppendTeamRatingEventsUseCase } from './AppendTeamRatingEventsUseCase';
|
||||
|
||||
// Mock repositories
|
||||
|
||||
@@ -2,6 +2,11 @@ import type { Logger } from '@core/shared/domain/Logger';
|
||||
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
|
||||
import { beforeEach, describe, expect, it, vi, type Mock } from 'vitest';
|
||||
import { TeamMembershipRepository } from '../../domain/repositories/TeamMembershipRepository';
|
||||
import {
|
||||
GetTeamMembershipUseCase,
|
||||
GetTeamMembershipInput,
|
||||
GetTeamMembershipErrorCode,
|
||||
} from './GetTeamMembershipUseCase';
|
||||
|
||||
describe('GetTeamMembershipUseCase', () => {
|
||||
const mockGetMembership = vi.fn();
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
import { TeamRatingEvent } from '@core/racing/domain/entities/TeamRatingEvent';
|
||||
import { TeamRatingEventRepository } from '@core/racing/domain/repositories/TeamRatingEventRepository';
|
||||
import { TeamRatingEventRepository, PaginatedResult } from '@core/racing/domain/repositories/TeamRatingEventRepository';
|
||||
import { TeamRatingRepository } from '@core/racing/domain/repositories/TeamRatingRepository';
|
||||
import { TeamRatingDelta } from '@core/racing/domain/value-objects/TeamRatingDelta';
|
||||
import { TeamRatingDimensionKey } from '@core/racing/domain/value-objects/TeamRatingDimensionKey';
|
||||
import { TeamRatingEventId } from '@core/racing/domain/value-objects/TeamRatingEventId';
|
||||
import { afterEach, beforeEach, describe, expect, it } from 'vitest';
|
||||
import { PaginatedResult } from '../../domain/repositories/TeamRatingEventRepository';
|
||||
import { TeamRating } from '../../domain/value-objects/TeamRating';
|
||||
import { TeamRatingSnapshot } from '../../domain/services/TeamRatingSnapshotCalculator';
|
||||
import { RecomputeTeamRatingSnapshotUseCase } from './RecomputeTeamRatingSnapshotUseCase';
|
||||
|
||||
// Mock repositories
|
||||
@@ -51,13 +50,13 @@ class MockTeamRatingEventRepository implements TeamRatingEventRepository {
|
||||
}
|
||||
|
||||
class MockTeamRatingRepository implements TeamRatingRepository {
|
||||
private snapshots: Map<string, TeamRating> = new Map();
|
||||
private snapshots: Map<string, TeamRatingSnapshot> = new Map();
|
||||
|
||||
async findByTeamId(teamId: string): Promise<TeamRating | null> {
|
||||
async findByTeamId(teamId: string): Promise<TeamRatingSnapshot | null> {
|
||||
return this.snapshots.get(teamId) || null;
|
||||
}
|
||||
|
||||
async save(snapshot: TeamRating): Promise<TeamRating> {
|
||||
async save(snapshot: TeamRatingSnapshot): Promise<TeamRatingSnapshot> {
|
||||
this.snapshots.set(snapshot.teamId, snapshot);
|
||||
return snapshot;
|
||||
}
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
import { TeamRatingEvent } from '@core/racing/domain/entities/TeamRatingEvent';
|
||||
import { TeamRatingEventRepository } from '@core/racing/domain/repositories/TeamRatingEventRepository';
|
||||
import { TeamRatingEventRepository, PaginatedResult } from '@core/racing/domain/repositories/TeamRatingEventRepository';
|
||||
import { TeamRatingRepository } from '@core/racing/domain/repositories/TeamRatingRepository';
|
||||
import { TeamDrivingRaceFactsDto } from '@core/racing/domain/services/TeamDrivingRatingEventFactory';
|
||||
import { TeamRatingEventId } from '@core/racing/domain/value-objects/TeamRatingEventId';
|
||||
import { afterEach, beforeEach, describe, expect, it } from 'vitest';
|
||||
import { PaginatedResult } from '../../domain/repositories/TeamRatingEventRepository';
|
||||
import { TeamRating } from '../../domain/value-objects/TeamRating';
|
||||
import { TeamRaceResultsProvider } from '../ports/TeamRaceResultsProvider';
|
||||
import { AppendTeamRatingEventsUseCase } from './AppendTeamRatingEventsUseCase';
|
||||
@@ -90,8 +89,6 @@ describe('RecordTeamRaceRatingEventsUseCase', () => {
|
||||
appendUseCase = new AppendTeamRatingEventsUseCase(mockEventRepo, mockRatingRepo);
|
||||
useCase = new RecordTeamRaceRatingEventsUseCase(
|
||||
mockResultsProvider,
|
||||
mockEventRepo,
|
||||
mockRatingRepo,
|
||||
appendUseCase
|
||||
);
|
||||
});
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
import type { TeamRatingEventRepository } from '@core/racing/domain/repositories/TeamRatingEventRepository';
|
||||
import type { TeamRatingRepository } from '@core/racing/domain/repositories/TeamRatingRepository';
|
||||
import { TeamDrivingRatingEventFactory } from '@core/racing/domain/services/TeamDrivingRatingEventFactory';
|
||||
import { RecordTeamRaceRatingEventsInput, RecordTeamRaceRatingEventsOutput } from '../dtos/RecordTeamRaceRatingEventsDto';
|
||||
import type { TeamRaceResultsProvider } from '../ports/TeamRaceResultsProvider';
|
||||
@@ -20,8 +18,6 @@ import { AppendTeamRatingEventsUseCase } from './AppendTeamRatingEventsUseCase';
|
||||
export class RecordTeamRaceRatingEventsUseCase {
|
||||
constructor(
|
||||
private readonly teamRaceResultsProvider: TeamRaceResultsProvider,
|
||||
private readonly ratingEventRepository: TeamRatingEventRepository,
|
||||
private readonly ratingRepository: TeamRatingRepository,
|
||||
private readonly appendTeamRatingEventsUseCase: AppendTeamRatingEventsUseCase,
|
||||
) {}
|
||||
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
import { TeamRatingEvent } from '@core/racing/domain/entities/TeamRatingEvent';
|
||||
import { TeamRatingEventRepository } from '@core/racing/domain/repositories/TeamRatingEventRepository';
|
||||
import { TeamRatingEventRepository, PaginatedResult } from '@core/racing/domain/repositories/TeamRatingEventRepository';
|
||||
import { TeamRatingRepository } from '@core/racing/domain/repositories/TeamRatingRepository';
|
||||
import { TeamDrivingRaceFactsDto } from '@core/racing/domain/services/TeamDrivingRatingEventFactory';
|
||||
import { TeamRatingEventId } from '@core/racing/domain/value-objects/TeamRatingEventId';
|
||||
import { afterEach, beforeEach, describe, expect, it } from 'vitest';
|
||||
import { PaginatedResult } from '../../domain/repositories/TeamRatingEventRepository';
|
||||
import { TeamRating } from '../../domain/value-objects/TeamRating';
|
||||
import { TeamRaceResultsProvider } from '../ports/TeamRaceResultsProvider';
|
||||
import { TeamRatingIntegrationAdapter } from './TeamRatingIntegrationAdapter';
|
||||
|
||||
@@ -15,7 +15,7 @@ describe('Penalty', () => {
|
||||
issuedBy: 'steward-1',
|
||||
});
|
||||
|
||||
expect(penalty.id).toBe('penalty-1');
|
||||
expect(penalty.id.toString()).toBe('penalty-1');
|
||||
expect(penalty.leagueId).toBe('league-1');
|
||||
expect(penalty.raceId).toBe('race-1');
|
||||
expect(penalty.driverId).toBe('driver-1');
|
||||
@@ -46,7 +46,7 @@ describe('Penalty', () => {
|
||||
notes: 'Applied after review',
|
||||
});
|
||||
|
||||
expect(penalty.id).toBe('penalty-1');
|
||||
expect(penalty.id.toString()).toBe('penalty-1');
|
||||
expect(penalty.type).toBe('disqualification');
|
||||
expect(penalty.value).toBeUndefined();
|
||||
expect(penalty.protestId).toBe('protest-1');
|
||||
|
||||
@@ -16,7 +16,7 @@ describe('Penalty', () => {
|
||||
issuedBy: 'steward-1',
|
||||
});
|
||||
|
||||
expect(penalty.id).toBe('penalty-1');
|
||||
expect(penalty.id.toString()).toBe('penalty-1');
|
||||
expect(penalty.leagueId).toBe('league-1');
|
||||
expect(penalty.raceId).toBe('race-1');
|
||||
expect(penalty.driverId).toBe('driver-1');
|
||||
@@ -47,7 +47,7 @@ describe('Penalty', () => {
|
||||
notes: 'Applied after review',
|
||||
});
|
||||
|
||||
expect(penalty.id).toBe('penalty-1');
|
||||
expect(penalty.id.toString()).toBe('penalty-1');
|
||||
expect(penalty.type).toBe('disqualification');
|
||||
expect(penalty.value).toBeUndefined();
|
||||
expect(penalty.protestId).toBe('protest-1');
|
||||
|
||||
Reference in New Issue
Block a user