integration tests
Some checks failed
CI / lint-typecheck (pull_request) Failing after 4m50s
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:
2026-01-23 11:44:59 +01:00
parent a0f41f242f
commit 6df38a462a
125 changed files with 4712 additions and 19184 deletions

View File

@@ -0,0 +1,36 @@
import { describe, it, expect, beforeEach } from 'vitest';
import { LeaguesTestContext } from '../LeaguesTestContext';
describe('League Settings - Basic Info', () => {
let context: LeaguesTestContext;
beforeEach(() => {
context = new LeaguesTestContext();
context.clear();
});
it('should retrieve league basic information', async () => {
const league = await context.createLeague({
name: 'Test League',
description: 'Test Description',
visibility: 'public',
});
const result = await context.leagueRepository.findById(league.id);
expect(result).toBeDefined();
expect(result?.name).toBe('Test League');
expect(result?.description).toBe('Test Description');
expect(result?.visibility).toBe('public');
});
it('should update league basic information', async () => {
const league = await context.createLeague({ name: 'Old Name' });
await context.leagueRepository.update(league.id, { name: 'New Name', description: 'New Description' });
const updated = await context.leagueRepository.findById(league.id);
expect(updated?.name).toBe('New Name');
expect(updated?.description).toBe('New Description');
});
});

View File

@@ -0,0 +1,35 @@
import { describe, it, expect, beforeEach } from 'vitest';
import { LeaguesTestContext } from '../LeaguesTestContext';
describe('League Settings - Scoring', () => {
let context: LeaguesTestContext;
beforeEach(() => {
context = new LeaguesTestContext();
context.clear();
});
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);
});
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] } });
const updated = await context.leagueRepository.findById(league.id);
expect(updated?.bonusPointsEnabled).toBe(true);
expect(updated?.scoringSystem).toEqual({ points: [25, 18] });
});
});

View File

@@ -0,0 +1,35 @@
import { describe, it, expect, beforeEach } from 'vitest';
import { LeaguesTestContext } from '../LeaguesTestContext';
describe('League Settings - Stewarding', () => {
let context: LeaguesTestContext;
beforeEach(() => {
context = new LeaguesTestContext();
context.clear();
});
it('should retrieve league stewarding configuration', async () => {
const league = await context.createLeague({
protestsEnabled: true,
appealsEnabled: false,
stewardTeam: ['steward-1'],
});
const result = await context.leagueRepository.findById(league.id);
expect(result?.protestsEnabled).toBe(true);
expect(result?.appealsEnabled).toBe(false);
expect(result?.stewardTeam).toEqual(['steward-1']);
});
it('should update league stewarding configuration', async () => {
const league = await context.createLeague({ protestsEnabled: false });
await context.leagueRepository.update(league.id, { protestsEnabled: true, stewardTeam: ['steward-2'] });
const updated = await context.leagueRepository.findById(league.id);
expect(updated?.protestsEnabled).toBe(true);
expect(updated?.stewardTeam).toEqual(['steward-2']);
});
});

View File

@@ -0,0 +1,35 @@
import { describe, it, expect, beforeEach } from 'vitest';
import { LeaguesTestContext } from '../LeaguesTestContext';
describe('League Settings - Structure', () => {
let context: LeaguesTestContext;
beforeEach(() => {
context = new LeaguesTestContext();
context.clear();
});
it('should retrieve league structure settings', async () => {
const league = await context.createLeague({
maxDrivers: 30,
approvalRequired: true,
lateJoinAllowed: false,
});
const result = await context.leagueRepository.findById(league.id);
expect(result?.maxDrivers).toBe(30);
expect(result?.approvalRequired).toBe(true);
expect(result?.lateJoinAllowed).toBe(false);
});
it('should update league structure settings', async () => {
const league = await context.createLeague({ maxDrivers: 20 });
await context.leagueRepository.update(league.id, { maxDrivers: 40, approvalRequired: true });
const updated = await context.leagueRepository.findById(league.id);
expect(updated?.maxDrivers).toBe(40);
expect(updated?.approvalRequired).toBe(true);
});
});