code quality
Some checks failed
CI / lint-typecheck (pull_request) Failing after 12s
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 12s
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:
@@ -65,7 +65,7 @@ describe('Dashboard Data Flow Integration', () => {
|
||||
expect(dto.driver.name).toBe('Complete Flow Driver');
|
||||
expect(dto.statistics.rating).toBe(1600);
|
||||
expect(dto.upcomingRaces).toHaveLength(1);
|
||||
expect(dto.upcomingRaces[0].trackName).toBe('Monza');
|
||||
expect(dto.upcomingRaces[0]!.trackName).toBe('Monza');
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -111,21 +111,21 @@ describe('GetDashboardUseCase - Success Path', () => {
|
||||
expect(result.statistics.leagues).toBe(2);
|
||||
|
||||
expect(result.upcomingRaces).toHaveLength(3);
|
||||
expect(result.upcomingRaces[0].trackName).toBe('Nürburgring');
|
||||
expect(result.upcomingRaces[1].trackName).toBe('Monza');
|
||||
expect(result.upcomingRaces[2].trackName).toBe('Imola');
|
||||
expect(result.upcomingRaces[0]!.trackName).toBe('Nürburgring');
|
||||
expect(result.upcomingRaces[1]!.trackName).toBe('Monza');
|
||||
expect(result.upcomingRaces[2]!.trackName).toBe('Imola');
|
||||
|
||||
expect(result.championshipStandings).toHaveLength(2);
|
||||
expect(result.championshipStandings[0].leagueName).toBe('GT3 Championship');
|
||||
expect(result.championshipStandings[0].position).toBe(5);
|
||||
expect(result.championshipStandings[0].points).toBe(150);
|
||||
expect(result.championshipStandings[0].totalDrivers).toBe(20);
|
||||
expect(result.championshipStandings[0]!.leagueName).toBe('GT3 Championship');
|
||||
expect(result.championshipStandings[0]!.position).toBe(5);
|
||||
expect(result.championshipStandings[0]!.points).toBe(150);
|
||||
expect(result.championshipStandings[0]!.totalDrivers).toBe(20);
|
||||
|
||||
expect(result.recentActivity).toHaveLength(3);
|
||||
expect(result.recentActivity[0].description).toBe('Finished 3rd at Monza');
|
||||
expect(result.recentActivity[0].status).toBe('success');
|
||||
expect(result.recentActivity[1].description).toBe('Invited to League XYZ');
|
||||
expect(result.recentActivity[2].description).toBe('Reached 1500 rating');
|
||||
expect(result.recentActivity[0]!.description).toBe('Finished 3rd at Monza');
|
||||
expect(result.recentActivity[0]!.status).toBe('success');
|
||||
expect(result.recentActivity[1]!.description).toBe('Invited to League XYZ');
|
||||
expect(result.recentActivity[2]!.description).toBe('Reached 1500 rating');
|
||||
|
||||
expect(context.eventPublisher.getDashboardAccessedEventCount()).toBe(1);
|
||||
});
|
||||
|
||||
@@ -42,7 +42,7 @@ describe('Database Constraints - Data Integrity After Failed Operations', () =>
|
||||
// Then: Original team should still exist and be retrievable
|
||||
const teams = await context.teamRepository.findAll();
|
||||
expect(teams.length).toBe(1);
|
||||
expect(teams[0].name).toBe('Valid Team');
|
||||
expect(teams[0]!.name).toBe('Valid Team');
|
||||
});
|
||||
|
||||
it('should handle multiple failed operations without corruption', async () => {
|
||||
|
||||
@@ -26,11 +26,10 @@ describe('GetDriverUseCase Integration', () => {
|
||||
await context.driverRepository.create(driver);
|
||||
|
||||
const result = await context.getDriverUseCase.execute({ driverId });
|
||||
|
||||
|
||||
expect(result.isOk()).toBe(true);
|
||||
const retrievedDriver = result.unwrap();
|
||||
const retrievedDriver = result.unwrap()!;
|
||||
|
||||
expect(retrievedDriver).toBeDefined();
|
||||
expect(retrievedDriver.id).toBe(driverId);
|
||||
expect(retrievedDriver.iracingId.toString()).toBe('12345');
|
||||
expect(retrievedDriver.name.toString()).toBe('John Doe');
|
||||
@@ -51,11 +50,10 @@ describe('GetDriverUseCase Integration', () => {
|
||||
await context.driverRepository.create(driver);
|
||||
|
||||
const result = await context.getDriverUseCase.execute({ driverId });
|
||||
|
||||
|
||||
expect(result.isOk()).toBe(true);
|
||||
const retrievedDriver = result.unwrap();
|
||||
const retrievedDriver = result.unwrap()!;
|
||||
|
||||
expect(retrievedDriver).toBeDefined();
|
||||
expect(retrievedDriver.id).toBe(driverId);
|
||||
expect(retrievedDriver.iracingId.toString()).toBe('67890');
|
||||
expect(retrievedDriver.name.toString()).toBe('Jane Smith');
|
||||
@@ -77,11 +75,10 @@ describe('GetDriverUseCase Integration', () => {
|
||||
await context.driverRepository.create(driver);
|
||||
|
||||
const result = await context.getDriverUseCase.execute({ driverId });
|
||||
|
||||
|
||||
expect(result.isOk()).toBe(true);
|
||||
const retrievedDriver = result.unwrap();
|
||||
const retrievedDriver = result.unwrap()!;
|
||||
|
||||
expect(retrievedDriver).toBeDefined();
|
||||
expect(retrievedDriver.id).toBe(driverId);
|
||||
expect(retrievedDriver.bio?.toString()).toBe('Canadian racer');
|
||||
expect(retrievedDriver.avatarRef).toBeDefined();
|
||||
@@ -100,11 +97,10 @@ describe('GetDriverUseCase Integration', () => {
|
||||
await context.driverRepository.create(driver);
|
||||
|
||||
const result = await context.getDriverUseCase.execute({ driverId });
|
||||
|
||||
|
||||
expect(result.isOk()).toBe(true);
|
||||
const retrievedDriver = result.unwrap();
|
||||
const retrievedDriver = result.unwrap()!;
|
||||
|
||||
expect(retrievedDriver).toBeDefined();
|
||||
expect(retrievedDriver.id).toBe(driverId);
|
||||
expect(retrievedDriver.bio).toBeUndefined();
|
||||
expect(retrievedDriver.avatarRef).toBeDefined();
|
||||
@@ -124,11 +120,10 @@ describe('GetDriverUseCase Integration', () => {
|
||||
await context.driverRepository.create(driver);
|
||||
|
||||
const result = await context.getDriverUseCase.execute({ driverId });
|
||||
|
||||
|
||||
expect(result.isOk()).toBe(true);
|
||||
const retrievedDriver = result.unwrap();
|
||||
const retrievedDriver = result.unwrap()!;
|
||||
|
||||
expect(retrievedDriver).toBeDefined();
|
||||
expect(retrievedDriver.id).toBe(driverId);
|
||||
expect(retrievedDriver.bio).toBeUndefined();
|
||||
});
|
||||
@@ -145,11 +140,10 @@ describe('GetDriverUseCase Integration', () => {
|
||||
await context.driverRepository.create(driver);
|
||||
|
||||
const result = await context.getDriverUseCase.execute({ driverId });
|
||||
|
||||
|
||||
expect(result.isOk()).toBe(true);
|
||||
const retrievedDriver = result.unwrap();
|
||||
const retrievedDriver = result.unwrap()!;
|
||||
|
||||
expect(retrievedDriver).toBeDefined();
|
||||
expect(retrievedDriver.id).toBe(driverId);
|
||||
expect(retrievedDriver.avatarRef).toBeDefined();
|
||||
});
|
||||
@@ -166,11 +160,10 @@ describe('GetDriverUseCase Integration', () => {
|
||||
await context.driverRepository.create(driver);
|
||||
|
||||
const result = await context.getDriverUseCase.execute({ driverId });
|
||||
|
||||
|
||||
expect(result.isOk()).toBe(true);
|
||||
const retrievedDriver = result.unwrap();
|
||||
const retrievedDriver = result.unwrap()!;
|
||||
|
||||
expect(retrievedDriver).toBeDefined();
|
||||
expect(retrievedDriver.id).toBe(driverId);
|
||||
expect(retrievedDriver.iracingId.toString()).toBe('55555');
|
||||
expect(retrievedDriver.name.toString()).toBe('Minimal Driver');
|
||||
@@ -232,9 +225,9 @@ describe('GetDriverUseCase Integration', () => {
|
||||
await context.driverRepository.create(driver);
|
||||
|
||||
const result = await context.getDriverUseCase.execute({ driverId });
|
||||
|
||||
|
||||
expect(result.isOk()).toBe(true);
|
||||
const retrievedDriver = result.unwrap();
|
||||
const retrievedDriver = result.unwrap()!;
|
||||
|
||||
expect(retrievedDriver.id).toBe(driverId);
|
||||
expect(retrievedDriver.iracingId.toString()).toBe('77777');
|
||||
@@ -258,9 +251,9 @@ describe('GetDriverUseCase Integration', () => {
|
||||
await context.driverRepository.create(driver);
|
||||
|
||||
const result = await context.getDriverUseCase.execute({ driverId });
|
||||
|
||||
|
||||
expect(result.isOk()).toBe(true);
|
||||
const retrievedDriver = result.unwrap();
|
||||
const retrievedDriver = result.unwrap()!;
|
||||
|
||||
expect(retrievedDriver.avatarRef).toBeDefined();
|
||||
expect(retrievedDriver.avatarRef.type).toBe('system-default');
|
||||
@@ -279,9 +272,9 @@ describe('GetDriverUseCase Integration', () => {
|
||||
await context.driverRepository.create(driver);
|
||||
|
||||
const result = await context.getDriverUseCase.execute({ driverId });
|
||||
|
||||
|
||||
expect(result.isOk()).toBe(true);
|
||||
const retrievedDriver = result.unwrap();
|
||||
const retrievedDriver = result.unwrap()!;
|
||||
|
||||
expect(retrievedDriver.avatarRef).toBeDefined();
|
||||
expect(retrievedDriver.avatarRef.type).toBe('generated');
|
||||
|
||||
@@ -78,13 +78,13 @@ describe('GetDriversLeaderboardUseCase Integration', () => {
|
||||
expect(leaderboard.totalWins).toBe(3);
|
||||
expect(leaderboard.activeCount).toBe(3);
|
||||
|
||||
expect(leaderboard.items[0].driver.id).toBe('d1');
|
||||
expect(leaderboard.items[1].driver.id).toBe('d2');
|
||||
expect(leaderboard.items[2].driver.id).toBe('d3');
|
||||
expect(leaderboard.items[0]!.driver.id).toBe('d1');
|
||||
expect(leaderboard.items[1]!.driver.id).toBe('d2');
|
||||
expect(leaderboard.items[2]!.driver.id).toBe('d3');
|
||||
|
||||
expect(leaderboard.items[0].rating).toBe(2000);
|
||||
expect(leaderboard.items[1].rating).toBe(1800);
|
||||
expect(leaderboard.items[2].rating).toBe(1500);
|
||||
expect(leaderboard.items[0]!.rating).toBe(2000);
|
||||
expect(leaderboard.items[1]!.rating).toBe(1800);
|
||||
expect(leaderboard.items[2]!.rating).toBe(1500);
|
||||
});
|
||||
|
||||
it('should handle empty drivers list', async () => {
|
||||
|
||||
@@ -57,7 +57,7 @@ describe('GetProfileOverviewUseCase Integration', () => {
|
||||
expect(overview.driverInfo.driver.id).toBe(driverId);
|
||||
expect(overview.stats?.rating).toBe(2000);
|
||||
expect(overview.teamMemberships).toHaveLength(1);
|
||||
expect(overview.teamMemberships[0].team.id).toBe('t1');
|
||||
expect(overview.teamMemberships[0]!.team.id).toBe('t1');
|
||||
expect(overview.socialSummary.friendsCount).toBe(1);
|
||||
expect(overview.extendedProfile).toBeDefined();
|
||||
});
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { vi } from 'vitest';
|
||||
import { InMemoryHealthCheckAdapter } from '../../../adapters/health/persistence/inmemory/InMemoryHealthCheckAdapter';
|
||||
import { InMemoryHealthEventPublisher } from '../../../adapters/events/InMemoryHealthEventPublisher';
|
||||
import { ApiConnectionMonitor } from '../../../apps/website/lib/api/base/ApiConnectionMonitor';
|
||||
import { ApiConnectionMonitor } from '../../../apps/website/lib/gateways/api/base/ApiConnectionMonitor';
|
||||
import { CheckApiHealthUseCase } from '../../../core/health/use-cases/CheckApiHealthUseCase';
|
||||
import { GetConnectionStatusUseCase } from '../../../core/health/use-cases/GetConnectionStatusUseCase';
|
||||
|
||||
|
||||
@@ -24,12 +24,12 @@ describe('GetDriverRankingsUseCase - Edge Cases & Errors', () => {
|
||||
|
||||
const result = await context.getDriverRankingsUseCase.execute({});
|
||||
|
||||
expect(result.drivers[0].rating).toBe(5.0);
|
||||
expect(result.drivers[1].rating).toBe(5.0);
|
||||
expect(result.drivers[2].rating).toBe(5.0);
|
||||
expect(result.drivers[0].name).toBe('Alice');
|
||||
expect(result.drivers[1].name).toBe('Bob');
|
||||
expect(result.drivers[2].name).toBe('Zoe');
|
||||
expect(result.drivers[0]!.rating).toBe(5.0);
|
||||
expect(result.drivers[1]!.rating).toBe(5.0);
|
||||
expect(result.drivers[2]!.rating).toBe(5.0);
|
||||
expect(result.drivers[0]!.name).toBe('Alice');
|
||||
expect(result.drivers[1]!.name).toBe('Bob');
|
||||
expect(result.drivers[2]!.name).toBe('Zoe');
|
||||
expect(context.eventPublisher.getDriverRankingsAccessedEventCount()).toBe(1);
|
||||
});
|
||||
|
||||
@@ -40,8 +40,8 @@ describe('GetDriverRankingsUseCase - Edge Cases & Errors', () => {
|
||||
const result = await context.getDriverRankingsUseCase.execute({});
|
||||
|
||||
expect(result.drivers).toHaveLength(2);
|
||||
expect(result.drivers[0].teamId).toBe('team-1');
|
||||
expect(result.drivers[1].teamId).toBeUndefined();
|
||||
expect(result.drivers[0]!.teamId).toBe('team-1');
|
||||
expect(result.drivers[1]!.teamId).toBeUndefined();
|
||||
expect(context.eventPublisher.getDriverRankingsAccessedEventCount()).toBe(1);
|
||||
});
|
||||
|
||||
|
||||
@@ -17,10 +17,10 @@ describe('GetDriverRankingsUseCase - Sort Functionality', () => {
|
||||
|
||||
const result = await context.getDriverRankingsUseCase.execute({ sortBy: 'rating', sortOrder: 'desc' });
|
||||
|
||||
expect(result.drivers[0].rating).toBe(5.0);
|
||||
expect(result.drivers[1].rating).toBe(4.5);
|
||||
expect(result.drivers[2].rating).toBe(4.0);
|
||||
expect(result.drivers[3].rating).toBe(3.5);
|
||||
expect(result.drivers[0]!.rating).toBe(5.0);
|
||||
expect(result.drivers[1]!.rating).toBe(4.5);
|
||||
expect(result.drivers[2]!.rating).toBe(4.0);
|
||||
expect(result.drivers[3]!.rating).toBe(3.5);
|
||||
expect(context.eventPublisher.getDriverRankingsAccessedEventCount()).toBe(1);
|
||||
});
|
||||
|
||||
@@ -31,9 +31,9 @@ describe('GetDriverRankingsUseCase - Sort Functionality', () => {
|
||||
|
||||
const result = await context.getDriverRankingsUseCase.execute({ sortBy: 'name', sortOrder: 'asc' });
|
||||
|
||||
expect(result.drivers[0].name).toBe('Alice');
|
||||
expect(result.drivers[1].name).toBe('Bob');
|
||||
expect(result.drivers[2].name).toBe('Zoe');
|
||||
expect(result.drivers[0]!.name).toBe('Alice');
|
||||
expect(result.drivers[1]!.name).toBe('Bob');
|
||||
expect(result.drivers[2]!.name).toBe('Zoe');
|
||||
expect(context.eventPublisher.getDriverRankingsAccessedEventCount()).toBe(1);
|
||||
});
|
||||
|
||||
@@ -44,9 +44,9 @@ describe('GetDriverRankingsUseCase - Sort Functionality', () => {
|
||||
|
||||
const result = await context.getDriverRankingsUseCase.execute({ sortBy: 'rank', sortOrder: 'asc' });
|
||||
|
||||
expect(result.drivers[0].rank).toBe(1);
|
||||
expect(result.drivers[1].rank).toBe(2);
|
||||
expect(result.drivers[2].rank).toBe(3);
|
||||
expect(result.drivers[0]!.rank).toBe(1);
|
||||
expect(result.drivers[1]!.rank).toBe(2);
|
||||
expect(result.drivers[2]!.rank).toBe(3);
|
||||
expect(context.eventPublisher.getDriverRankingsAccessedEventCount()).toBe(1);
|
||||
});
|
||||
|
||||
@@ -57,9 +57,9 @@ describe('GetDriverRankingsUseCase - Sort Functionality', () => {
|
||||
|
||||
const result = await context.getDriverRankingsUseCase.execute({ sortBy: 'raceCount', sortOrder: 'desc' });
|
||||
|
||||
expect(result.drivers[0].raceCount).toBe(50);
|
||||
expect(result.drivers[1].raceCount).toBe(40);
|
||||
expect(result.drivers[2].raceCount).toBe(30);
|
||||
expect(result.drivers[0]!.raceCount).toBe(50);
|
||||
expect(result.drivers[1]!.raceCount).toBe(40);
|
||||
expect(result.drivers[2]!.raceCount).toBe(30);
|
||||
expect(context.eventPublisher.getDriverRankingsAccessedEventCount()).toBe(1);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -47,9 +47,9 @@ describe('GetDriverRankingsUseCase - Success Path', () => {
|
||||
teamName: 'Racing Team A',
|
||||
raceCount: 50,
|
||||
});
|
||||
expect(result.drivers[0].rating).toBe(5.0);
|
||||
expect(result.drivers[1].rating).toBe(4.8);
|
||||
expect(result.drivers[2].rating).toBe(4.5);
|
||||
expect(result.drivers[0]!.rating).toBe(5.0);
|
||||
expect(result.drivers[1]!.rating).toBe(4.8);
|
||||
expect(result.drivers[2]!.rating).toBe(4.5);
|
||||
expect(context.eventPublisher.getDriverRankingsAccessedEventCount()).toBe(1);
|
||||
});
|
||||
|
||||
|
||||
@@ -20,8 +20,8 @@ describe('GetGlobalLeaderboardsUseCase - Success Path', () => {
|
||||
|
||||
expect(result.drivers).toHaveLength(2);
|
||||
expect(result.teams).toHaveLength(2);
|
||||
expect(result.drivers[0].rank).toBe(1);
|
||||
expect(result.teams[0].rank).toBe(1);
|
||||
expect(result.drivers[0]!.rank).toBe(1);
|
||||
expect(result.teams[0]!.rank).toBe(1);
|
||||
expect(context.eventPublisher.getGlobalLeaderboardsAccessedEventCount()).toBe(1);
|
||||
});
|
||||
|
||||
@@ -35,7 +35,7 @@ describe('GetGlobalLeaderboardsUseCase - Success Path', () => {
|
||||
|
||||
expect(result.drivers).toHaveLength(10);
|
||||
expect(result.teams).toHaveLength(10);
|
||||
expect(result.drivers[0].rating).toBe(4.9);
|
||||
expect(result.teams[0].rating).toBe(4.9);
|
||||
expect(result.drivers[0]!.rating).toBe(4.9);
|
||||
expect(result.teams[0]!.rating).toBe(4.9);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -23,10 +23,10 @@ describe('GetTeamRankingsUseCase - Data Orchestration', () => {
|
||||
|
||||
const result = await context.getTeamRankingsUseCase.execute({});
|
||||
|
||||
expect(result.teams[0].rank).toBe(1);
|
||||
expect(result.teams[0].rating).toBe(4.9);
|
||||
expect(result.teams[4].rank).toBe(5);
|
||||
expect(result.teams[4].rating).toBe(4.1);
|
||||
expect(result.teams[0]!.rank).toBe(1);
|
||||
expect(result.teams[0]!.rating).toBe(4.9);
|
||||
expect(result.teams[4]!.rank).toBe(5);
|
||||
expect(result.teams[4]!.rating).toBe(4.1);
|
||||
});
|
||||
|
||||
it('should correctly aggregate member counts from drivers', async () => {
|
||||
@@ -46,6 +46,6 @@ describe('GetTeamRankingsUseCase - Data Orchestration', () => {
|
||||
|
||||
const result = await context.getTeamRankingsUseCase.execute({});
|
||||
|
||||
expect(result.teams[0].memberCount).toBe(5);
|
||||
expect(result.teams[0]!.memberCount).toBe(5);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -17,7 +17,7 @@ describe('GetTeamRankingsUseCase - Search & Filter', () => {
|
||||
const result = await context.getTeamRankingsUseCase.execute({ search: 'Racing' });
|
||||
|
||||
expect(result.teams).toHaveLength(1);
|
||||
expect(result.teams[0].name).toBe('Racing Team');
|
||||
expect(result.teams[0]!.name).toBe('Racing Team');
|
||||
expect(context.eventPublisher.getTeamRankingsAccessedEventCount()).toBe(1);
|
||||
});
|
||||
});
|
||||
@@ -30,7 +30,7 @@ describe('GetTeamRankingsUseCase - Search & Filter', () => {
|
||||
const result = await context.getTeamRankingsUseCase.execute({ minRating: 4.0 });
|
||||
|
||||
expect(result.teams).toHaveLength(1);
|
||||
expect(result.teams[0].rating).toBe(4.0);
|
||||
expect(result.teams[0]!.rating).toBe(4.0);
|
||||
expect(context.eventPublisher.getTeamRankingsAccessedEventCount()).toBe(1);
|
||||
});
|
||||
|
||||
@@ -41,7 +41,7 @@ describe('GetTeamRankingsUseCase - Search & Filter', () => {
|
||||
const result = await context.getTeamRankingsUseCase.execute({ minMemberCount: 5 });
|
||||
|
||||
expect(result.teams).toHaveLength(1);
|
||||
expect(result.teams[0].memberCount).toBe(5);
|
||||
expect(result.teams[0]!.memberCount).toBe(5);
|
||||
expect(context.eventPublisher.getTeamRankingsAccessedEventCount()).toBe(1);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -25,9 +25,9 @@ describe('GetTeamRankingsUseCase - Success Path', () => {
|
||||
memberCount: 5,
|
||||
raceCount: 100,
|
||||
});
|
||||
expect(result.teams[0].rating).toBe(4.9);
|
||||
expect(result.teams[1].rating).toBe(4.7);
|
||||
expect(result.teams[2].rating).toBe(4.3);
|
||||
expect(result.teams[0]!.rating).toBe(4.9);
|
||||
expect(result.teams[1]!.rating).toBe(4.7);
|
||||
expect(result.teams[2]!.rating).toBe(4.3);
|
||||
expect(context.eventPublisher.getTeamRankingsAccessedEventCount()).toBe(1);
|
||||
});
|
||||
|
||||
@@ -57,12 +57,12 @@ describe('GetTeamRankingsUseCase - Success Path', () => {
|
||||
|
||||
const result = await context.getTeamRankingsUseCase.execute({});
|
||||
|
||||
expect(result.teams[0].rating).toBeGreaterThan(0);
|
||||
expect(typeof result.teams[0].rating).toBe('number');
|
||||
expect(result.teams[0].rank).toBe(1);
|
||||
expect(result.teams[0].name).toBeTruthy();
|
||||
expect(typeof result.teams[0].name).toBe('string');
|
||||
expect(result.teams[0].memberCount).toBeGreaterThan(0);
|
||||
expect(result.teams[0]!.rating).toBeGreaterThan(0);
|
||||
expect(typeof result.teams[0]!.rating).toBe('number');
|
||||
expect(result.teams[0]!.rank).toBe(1);
|
||||
expect(result.teams[0]!.name).toBeTruthy();
|
||||
expect(typeof result.teams[0]!.name).toBe('string');
|
||||
expect(result.teams[0]!.memberCount).toBeGreaterThan(0);
|
||||
expect(context.eventPublisher.getTeamRankingsAccessedEventCount()).toBe(1);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { InMemoryLeagueRepository } from '../../../adapters/leagues/persistence/inmemory/InMemoryLeagueRepository';
|
||||
import { InMemoryDriverRepository } from '../../../adapters/drivers/persistence/inmemory/InMemoryDriverRepository';
|
||||
import { InMemoryDriverRepository } from '../../../adapters/racing/persistence/inmemory/InMemoryDriverRepository';
|
||||
import { InMemoryEventPublisher } from '../../../adapters/events/InMemoryEventPublisher';
|
||||
import type { Logger } from '../../../core/shared/domain/Logger';
|
||||
import { CreateLeagueUseCase } from '../../../core/leagues/application/use-cases/CreateLeagueUseCase';
|
||||
@@ -35,7 +35,7 @@ import { UnpublishLeagueSeasonScheduleUseCase } from '../../../core/racing/appli
|
||||
import { RegisterForRaceUseCase } from '../../../core/racing/application/use-cases/RegisterForRaceUseCase';
|
||||
import { WithdrawFromRaceUseCase } from '../../../core/racing/application/use-cases/WithdrawFromRaceUseCase';
|
||||
import { GetLeagueStandingsUseCase } from '../../../core/racing/application/use-cases/GetLeagueStandingsUseCase';
|
||||
import { InMemoryWalletRepository } from '../../../adapters/payments/persistence/inmemory/InMemoryWalletRepository';
|
||||
import { InMemoryLeagueWalletRepository } from '../../../adapters/racing/persistence/inmemory/InMemoryLeagueWalletRepository';
|
||||
import { GetLeagueWalletUseCase } from '../../../core/racing/application/use-cases/GetLeagueWalletUseCase';
|
||||
import { WithdrawFromLeagueWalletUseCase } from '../../../core/racing/application/use-cases/WithdrawFromLeagueWalletUseCase';
|
||||
import { InMemoryTransactionRepository } from '../../../adapters/racing/persistence/inmemory/InMemoryTransactionRepository';
|
||||
@@ -79,15 +79,21 @@ export class LeaguesTestContext {
|
||||
public readonly withdrawFromRaceUseCase: WithdrawFromRaceUseCase;
|
||||
public readonly getLeagueStandingsUseCase: GetLeagueStandingsUseCase;
|
||||
|
||||
public readonly walletRepository: InMemoryWalletRepository;
|
||||
public readonly walletRepository: InMemoryLeagueWalletRepository;
|
||||
public readonly transactionRepository: InMemoryTransactionRepository;
|
||||
|
||||
public readonly getLeagueWalletUseCase: GetLeagueWalletUseCase;
|
||||
public readonly withdrawFromLeagueWalletUseCase: WithdrawFromLeagueWalletUseCase;
|
||||
|
||||
constructor() {
|
||||
this.logger = {
|
||||
info: () => {},
|
||||
debug: () => {},
|
||||
warn: () => {},
|
||||
error: () => {},
|
||||
} as unknown as Logger;
|
||||
this.leagueRepository = new InMemoryLeagueRepository();
|
||||
this.driverRepository = new InMemoryDriverRepository();
|
||||
this.driverRepository = new InMemoryDriverRepository(this.logger);
|
||||
this.eventPublisher = new InMemoryEventPublisher();
|
||||
|
||||
this.createLeagueUseCase = new CreateLeagueUseCase(this.leagueRepository, this.eventPublisher);
|
||||
@@ -101,12 +107,6 @@ export class LeaguesTestContext {
|
||||
this.demoteAdminUseCase = new DemoteAdminUseCase(this.leagueRepository, this.driverRepository, this.eventPublisher);
|
||||
this.removeMemberUseCase = new RemoveMemberUseCase(this.leagueRepository, this.driverRepository, this.eventPublisher);
|
||||
|
||||
this.logger = {
|
||||
info: () => {},
|
||||
debug: () => {},
|
||||
warn: () => {},
|
||||
error: () => {},
|
||||
} as unknown as Logger;
|
||||
|
||||
this.racingLeagueRepository = new InMemoryRacingLeagueRepository(this.logger);
|
||||
this.seasonRepository = new InMemorySeasonRepository(this.logger);
|
||||
@@ -175,7 +175,7 @@ export class LeaguesTestContext {
|
||||
this.racingDriverRepository,
|
||||
);
|
||||
|
||||
this.walletRepository = new InMemoryWalletRepository(this.logger);
|
||||
this.walletRepository = new InMemoryLeagueWalletRepository(this.logger);
|
||||
this.transactionRepository = new InMemoryTransactionRepository(this.logger);
|
||||
|
||||
this.getLeagueWalletUseCase = new GetLeagueWalletUseCase(
|
||||
|
||||
@@ -24,7 +24,6 @@ describe('League Creation - Success Path', () => {
|
||||
raceDay: 'Saturday',
|
||||
raceTime: '18:00',
|
||||
tracks: ['Monza', 'Spa', 'Nürburgring'],
|
||||
scoringSystem: { points: [25, 18, 15, 12, 10, 8, 6, 4, 2, 1] },
|
||||
bonusPointsEnabled: true,
|
||||
penaltiesEnabled: true,
|
||||
protestsEnabled: true,
|
||||
@@ -52,7 +51,7 @@ describe('League Creation - Success Path', () => {
|
||||
|
||||
expect(context.eventPublisher.getLeagueCreatedEventCount()).toBe(1);
|
||||
const events = context.eventPublisher.getLeagueCreatedEvents();
|
||||
expect(events[0].leagueId).toBe(result.id);
|
||||
expect(events[0]!.leagueId).toBe(result.id);
|
||||
});
|
||||
|
||||
it('should create a league with minimal configuration', async () => {
|
||||
|
||||
@@ -15,7 +15,7 @@ describe('League Discovery - Search', () => {
|
||||
|
||||
const results = await context.leagueRepository.search('Formula');
|
||||
expect(results).toHaveLength(1);
|
||||
expect(results[0].name).toBe('Formula 1');
|
||||
expect(results[0]!.name).toBe('Formula 1');
|
||||
});
|
||||
|
||||
it('should find leagues by description', async () => {
|
||||
@@ -24,6 +24,6 @@ describe('League Discovery - Search', () => {
|
||||
|
||||
const results = await context.leagueRepository.search('Competitive');
|
||||
expect(results).toHaveLength(1);
|
||||
expect(results[0].name).toBe('League A');
|
||||
expect(results[0]!.name).toBe('League A');
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { describe, it, expect, beforeEach } from 'vitest';
|
||||
import { Driver } from '@core/racing/domain/entities/Driver';
|
||||
import { LeaguesTestContext } from '../LeaguesTestContext';
|
||||
|
||||
describe('League Roster - Actions', () => {
|
||||
@@ -13,17 +14,13 @@ describe('League Roster - Actions', () => {
|
||||
const league = await context.createLeague({ approvalRequired: false });
|
||||
const driverId = 'driver-joiner';
|
||||
|
||||
context.driverRepository.addDriver({
|
||||
id: driverId,
|
||||
name: 'Joiner Driver',
|
||||
rating: 1500,
|
||||
rank: 100,
|
||||
avatar: undefined,
|
||||
starts: 0,
|
||||
wins: 0,
|
||||
podiums: 0,
|
||||
leagues: 0
|
||||
});
|
||||
await context.driverRepository.create(Driver.rehydrate({
|
||||
id: driverId,
|
||||
iracingId: `${driverId}-iracing`,
|
||||
name: 'Joiner Driver',
|
||||
country: 'US',
|
||||
joinedAt: new Date(),
|
||||
}));
|
||||
|
||||
await context.joinLeagueUseCase.execute({ leagueId: league.id, driverId });
|
||||
|
||||
@@ -35,17 +32,13 @@ describe('League Roster - Actions', () => {
|
||||
const league = await context.createLeague({ approvalRequired: true });
|
||||
const driverId = 'driver-requester';
|
||||
|
||||
context.driverRepository.addDriver({
|
||||
id: driverId,
|
||||
name: 'Requester Driver',
|
||||
rating: 1500,
|
||||
rank: 100,
|
||||
avatar: undefined,
|
||||
starts: 0,
|
||||
wins: 0,
|
||||
podiums: 0,
|
||||
leagues: 0
|
||||
});
|
||||
await context.driverRepository.create(Driver.rehydrate({
|
||||
id: driverId,
|
||||
iracingId: `${driverId}-iracing`,
|
||||
name: 'Requester Driver',
|
||||
country: 'US',
|
||||
joinedAt: new Date(),
|
||||
}));
|
||||
|
||||
await context.joinLeagueUseCase.execute({ leagueId: league.id, driverId });
|
||||
|
||||
@@ -58,21 +51,17 @@ describe('League Roster - Actions', () => {
|
||||
const league = await context.createLeague({ ownerId, approvalRequired: true });
|
||||
const driverId = 'driver-requester';
|
||||
|
||||
context.driverRepository.addDriver({
|
||||
id: driverId,
|
||||
name: 'Requester Driver',
|
||||
rating: 1500,
|
||||
rank: 100,
|
||||
avatar: undefined,
|
||||
starts: 0,
|
||||
wins: 0,
|
||||
podiums: 0,
|
||||
leagues: 0
|
||||
});
|
||||
await context.driverRepository.create(Driver.rehydrate({
|
||||
id: driverId,
|
||||
iracingId: `${driverId}-iracing`,
|
||||
name: 'Requester Driver',
|
||||
country: 'US',
|
||||
joinedAt: new Date(),
|
||||
}));
|
||||
await context.joinLeagueUseCase.execute({ leagueId: league.id, driverId });
|
||||
|
||||
const requests = await context.leagueRepository.getPendingRequests(league.id);
|
||||
const requestId = requests[0].id;
|
||||
const requestId = requests[0]!.id;
|
||||
|
||||
await context.approveMembershipRequestUseCase.execute({ leagueId: league.id, requestId });
|
||||
|
||||
@@ -88,21 +77,17 @@ describe('League Roster - Actions', () => {
|
||||
const league = await context.createLeague({ ownerId, approvalRequired: true });
|
||||
const driverId = 'driver-requester';
|
||||
|
||||
context.driverRepository.addDriver({
|
||||
id: driverId,
|
||||
name: 'Requester Driver',
|
||||
rating: 1500,
|
||||
rank: 100,
|
||||
avatar: undefined,
|
||||
starts: 0,
|
||||
wins: 0,
|
||||
podiums: 0,
|
||||
leagues: 0
|
||||
});
|
||||
await context.driverRepository.create(Driver.rehydrate({
|
||||
id: driverId,
|
||||
iracingId: `${driverId}-iracing`,
|
||||
name: 'Requester Driver',
|
||||
country: 'US',
|
||||
joinedAt: new Date(),
|
||||
}));
|
||||
await context.joinLeagueUseCase.execute({ leagueId: league.id, driverId });
|
||||
|
||||
const requests = await context.leagueRepository.getPendingRequests(league.id);
|
||||
const requestId = requests[0].id;
|
||||
const requestId = requests[0]!.id;
|
||||
|
||||
await context.rejectMembershipRequestUseCase.execute({ leagueId: league.id, requestId });
|
||||
|
||||
|
||||
@@ -74,7 +74,7 @@ describe('League Roster - Success Path', () => {
|
||||
const result = await context.getLeagueRosterUseCase.execute({ leagueId: league.id });
|
||||
|
||||
expect(result.members).toHaveLength(1);
|
||||
expect(result.members[0].role).toBe('owner');
|
||||
expect(result.members[0]!.role).toBe('owner');
|
||||
expect(result.stats.adminCount).toBe(1);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -11,14 +11,12 @@ describe('League Settings - Scoring', () => {
|
||||
|
||||
it('should retrieve league scoring configuration', async () => {
|
||||
const league = await context.createLeague({
|
||||
scoringSystem: { points: [10, 8, 6] },
|
||||
bonusPointsEnabled: true,
|
||||
penaltiesEnabled: true,
|
||||
});
|
||||
|
||||
const result = await context.leagueRepository.findById(league.id);
|
||||
|
||||
expect(result?.scoringSystem).toEqual({ points: [10, 8, 6] });
|
||||
expect(result?.bonusPointsEnabled).toBe(true);
|
||||
expect(result?.penaltiesEnabled).toBe(true);
|
||||
});
|
||||
@@ -26,10 +24,9 @@ describe('League Settings - Scoring', () => {
|
||||
it('should update league scoring configuration', async () => {
|
||||
const league = await context.createLeague({ bonusPointsEnabled: false });
|
||||
|
||||
await context.leagueRepository.update(league.id, { bonusPointsEnabled: true, scoringSystem: { points: [25, 18] } });
|
||||
await context.leagueRepository.update(league.id, { bonusPointsEnabled: true });
|
||||
|
||||
const updated = await context.leagueRepository.findById(league.id);
|
||||
expect(updated?.bonusPointsEnabled).toBe(true);
|
||||
expect(updated?.scoringSystem).toEqual({ points: [25, 18] });
|
||||
});
|
||||
});
|
||||
|
||||
@@ -96,7 +96,7 @@ describe('League Sponsorships - GetSeasonSponsorshipsUseCase', () => {
|
||||
track: 'Track 3',
|
||||
car: 'GT3',
|
||||
scheduledAt: new Date('2025-01-25T20:00:00.000Z'),
|
||||
status: 'planned',
|
||||
status: 'scheduled',
|
||||
}),
|
||||
);
|
||||
};
|
||||
|
||||
@@ -53,12 +53,12 @@ describe('GetLeagueStandings', () => {
|
||||
expect(result.isOk()).toBe(true);
|
||||
const data = result.unwrap();
|
||||
expect(data.standings).toHaveLength(2);
|
||||
expect(data.standings[0].driverId).toBe(driver1Id);
|
||||
expect(data.standings[0].points).toBe(100);
|
||||
expect(data.standings[0].rank).toBe(1);
|
||||
expect(data.standings[1].driverId).toBe(driver2Id);
|
||||
expect(data.standings[1].points).toBe(80);
|
||||
expect(data.standings[1].rank).toBe(2);
|
||||
expect(data.standings[0]!.driverId).toBe(driver1Id);
|
||||
expect(data.standings[0]!.points).toBe(100);
|
||||
expect(data.standings[0]!.rank).toBe(1);
|
||||
expect(data.standings[1]!.driverId).toBe(driver2Id);
|
||||
expect(data.standings[1]!.points).toBe(80);
|
||||
expect(data.standings[1]!.rank).toBe(2);
|
||||
});
|
||||
|
||||
it('should retrieve standings with minimal driver statistics', async () => {
|
||||
|
||||
@@ -63,6 +63,7 @@ describe('StandingsCalculation', () => {
|
||||
fastestLap: 120000,
|
||||
incidents: 0,
|
||||
startPosition: 1,
|
||||
points: 25,
|
||||
}));
|
||||
|
||||
await context.resultRepository.create(Result.create({
|
||||
@@ -73,6 +74,7 @@ describe('StandingsCalculation', () => {
|
||||
fastestLap: 121000,
|
||||
incidents: 2,
|
||||
startPosition: 5,
|
||||
points: 15,
|
||||
}));
|
||||
|
||||
// When: Standings are recalculated
|
||||
|
||||
@@ -107,7 +107,7 @@ describe('League Stewarding - GetLeagueStewarding', () => {
|
||||
reason: 'Contact on corner entry',
|
||||
issuedBy: 'steward-1',
|
||||
status: params.status || 'pending',
|
||||
...(params.raceId && { raceId: params.raceId }),
|
||||
raceId: params.raceId || 'default-race-id',
|
||||
});
|
||||
|
||||
await context.penaltyRepository.create(penalty);
|
||||
|
||||
@@ -52,7 +52,6 @@ describe('League Stewarding - StewardingManagement', () => {
|
||||
context.protestRepository,
|
||||
context.raceRepository,
|
||||
context.leagueMembershipRepository,
|
||||
context.racingDriverRepository,
|
||||
);
|
||||
|
||||
requestProtestDefenseUseCase = new RequestProtestDefenseUseCase(
|
||||
|
||||
@@ -38,7 +38,7 @@ describe('Sponsor Logo Management', () => {
|
||||
|
||||
// Then: The sponsor should have the correct logo URL
|
||||
const savedSponsor = await sponsorRepository.findById('sponsor-1');
|
||||
expect(savedSponsor?.logoUrl?.value).toBe(logoUrl);
|
||||
expect(savedSponsor?.logoUrl?.toString()).toBe(logoUrl);
|
||||
});
|
||||
|
||||
it('should retrieve sponsor logos (simulated via repository)', async () => {
|
||||
@@ -52,6 +52,6 @@ describe('Sponsor Logo Management', () => {
|
||||
|
||||
const found = await sponsorRepository.findById('sponsor-1');
|
||||
expect(found).not.toBeNull();
|
||||
expect(found?.logoUrl?.value).toBe('https://example.com/logo.png');
|
||||
expect(found?.logoUrl?.toString()).toBe('https://example.com/logo.png');
|
||||
});
|
||||
});
|
||||
|
||||
@@ -19,7 +19,6 @@ describe('Track Image Management', () => {
|
||||
id: 'track-1',
|
||||
name: 'Test Track',
|
||||
shortName: 'TST',
|
||||
location: 'Test Location',
|
||||
country: 'Test Country',
|
||||
gameId: 'game-1',
|
||||
category: 'road',
|
||||
@@ -42,7 +41,7 @@ describe('Track Image Management', () => {
|
||||
|
||||
// Then: The track should have the correct image URL
|
||||
const savedTrack = await trackRepository.findById('track-1');
|
||||
expect(savedTrack?.imageUrl?.value).toBe(imageUrl);
|
||||
expect(savedTrack?.imageUrl?.toString()).toBe(imageUrl);
|
||||
});
|
||||
|
||||
it('should retrieve track images (simulated via repository)', async () => {
|
||||
@@ -50,7 +49,6 @@ describe('Track Image Management', () => {
|
||||
id: 'track-1',
|
||||
name: 'Test Track',
|
||||
shortName: 'TST',
|
||||
location: 'Test Location',
|
||||
country: 'Test Country',
|
||||
gameId: 'game-1',
|
||||
category: 'road',
|
||||
@@ -60,6 +58,6 @@ describe('Track Image Management', () => {
|
||||
|
||||
const found = await trackRepository.findById('track-1');
|
||||
expect(found).not.toBeNull();
|
||||
expect(found?.imageUrl?.value).toBe('https://example.com/track.png');
|
||||
expect(found?.imageUrl?.toString()).toBe('https://example.com/track.png');
|
||||
});
|
||||
});
|
||||
|
||||
@@ -51,7 +51,6 @@ describe('GetRaceResultsDetailUseCase', () => {
|
||||
raceId,
|
||||
driverId,
|
||||
position: 1,
|
||||
lapsCompleted: 20,
|
||||
totalTime: 3600,
|
||||
fastestLap: 105,
|
||||
points: 25,
|
||||
|
||||
@@ -2,7 +2,7 @@ import { describe, it, expect, beforeEach } from 'vitest';
|
||||
import { GetSponsorBillingUseCase } from '../../../../core/payments/application/use-cases/GetSponsorBillingUseCase';
|
||||
import { Sponsor } from '../../../../core/racing/domain/entities/sponsor/Sponsor';
|
||||
import { SeasonSponsorship } from '../../../../core/racing/domain/entities/season/SeasonSponsorship';
|
||||
import { Payment, PaymentType, PaymentStatus } from '../../../../core/payments/domain/entities/Payment';
|
||||
import { Payment, PaymentType, PaymentStatus, PayerType } from '../../../../core/payments/domain/entities/Payment';
|
||||
import { Money } from '../../../../core/racing/domain/value-objects/Money';
|
||||
import { SponsorTestContext } from '../SponsorTestContext';
|
||||
|
||||
@@ -55,7 +55,7 @@ describe('Sponsor Billing Use Case Orchestration', () => {
|
||||
platformFee: 100,
|
||||
netAmount: 900,
|
||||
payerId: 'sponsor-123',
|
||||
payerType: 'sponsor',
|
||||
payerType: 'team',
|
||||
leagueId: 'league-1',
|
||||
seasonId: 'season-1',
|
||||
status: PaymentStatus.COMPLETED,
|
||||
@@ -71,7 +71,7 @@ describe('Sponsor Billing Use Case Orchestration', () => {
|
||||
platformFee: 200,
|
||||
netAmount: 1800,
|
||||
payerId: 'sponsor-123',
|
||||
payerType: 'sponsor',
|
||||
payerType: 'team',
|
||||
leagueId: 'league-2',
|
||||
seasonId: 'season-2',
|
||||
status: PaymentStatus.COMPLETED,
|
||||
@@ -87,7 +87,7 @@ describe('Sponsor Billing Use Case Orchestration', () => {
|
||||
platformFee: 300,
|
||||
netAmount: 2700,
|
||||
payerId: 'sponsor-123',
|
||||
payerType: 'sponsor',
|
||||
payerType: 'team',
|
||||
leagueId: 'league-3',
|
||||
seasonId: 'season-3',
|
||||
status: PaymentStatus.COMPLETED,
|
||||
@@ -133,7 +133,7 @@ describe('Sponsor Billing Use Case Orchestration', () => {
|
||||
platformFee: 100,
|
||||
netAmount: 900,
|
||||
payerId: 'sponsor-123',
|
||||
payerType: 'sponsor',
|
||||
payerType: 'team',
|
||||
leagueId: 'league-1',
|
||||
seasonId: 'season-1',
|
||||
status: PaymentStatus.COMPLETED,
|
||||
@@ -149,7 +149,7 @@ describe('Sponsor Billing Use Case Orchestration', () => {
|
||||
platformFee: 50,
|
||||
netAmount: 450,
|
||||
payerId: 'sponsor-123',
|
||||
payerType: 'sponsor',
|
||||
payerType: 'team',
|
||||
leagueId: 'league-2',
|
||||
seasonId: 'season-2',
|
||||
status: PaymentStatus.PENDING,
|
||||
|
||||
@@ -96,7 +96,7 @@ describe('Sponsor Campaigns Use Case Orchestration', () => {
|
||||
expect(sponsorships.summary.activeSponsorships).toBe(1);
|
||||
expect(sponsorships.summary.totalInvestment.amount).toBe(1000);
|
||||
|
||||
const s1 = sponsorships.sponsorships[0];
|
||||
const s1 = sponsorships.sponsorships[0]!;
|
||||
expect(s1.metrics.drivers).toBe(10);
|
||||
expect(s1.metrics.races).toBe(5);
|
||||
expect(s1.metrics.impressions).toBe(5000);
|
||||
|
||||
@@ -44,7 +44,7 @@ describe('Sponsor League Detail Use Case Orchestration', () => {
|
||||
expect(pricingResult.entityId).toBe(leagueId);
|
||||
expect(pricingResult.acceptingApplications).toBe(true);
|
||||
expect(pricingResult.tiers).toHaveLength(2);
|
||||
expect(pricingResult.tiers[0].name).toBe('main');
|
||||
expect(pricingResult.tiers[0]!.name).toBe('main');
|
||||
expect(pricingResult.tiers[0].price.amount).toBe(10000);
|
||||
});
|
||||
});
|
||||
@@ -52,7 +52,7 @@ describe('Sponsor League Detail Use Case Orchestration', () => {
|
||||
describe('GetEntitySponsorshipPricingUseCase - Error Handling', () => {
|
||||
it('should return error when pricing is not configured', async () => {
|
||||
const result = await getEntitySponsorshipPricingUseCase.execute({
|
||||
entityType: 'league',
|
||||
entityType: 'season',
|
||||
entityId: 'non-existent',
|
||||
});
|
||||
|
||||
|
||||
@@ -28,8 +28,7 @@ describe('GetAllTeamsUseCase', () => {
|
||||
performanceLevel: 'intermediate',
|
||||
specialization: 'sprint',
|
||||
region: 'EU',
|
||||
languages: ['en'],
|
||||
isRecruiting: true
|
||||
languages: ['en']
|
||||
});
|
||||
|
||||
const result = await getAllTeamsUseCase.execute({});
|
||||
|
||||
@@ -163,7 +163,6 @@ describe('Team Membership Use Cases', () => {
|
||||
id: 'jr2',
|
||||
teamId,
|
||||
driverId: 'd14',
|
||||
status: 'pending',
|
||||
requestedAt: new Date()
|
||||
});
|
||||
|
||||
@@ -189,7 +188,6 @@ describe('Team Membership Use Cases', () => {
|
||||
id: 'jr4',
|
||||
teamId,
|
||||
driverId,
|
||||
status: 'pending',
|
||||
requestedAt: new Date()
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user