Files
gridpilot.gg/core/racing/domain/entities/Game.test.ts
2026-01-16 19:46:49 +01:00

36 lines
874 B
TypeScript

import { describe, expect, it } from 'vitest';
import { Game } from './Game';
describe('Game', () => {
it('should create a game', () => {
const game = Game.create({
id: 'game1',
name: 'iRacing',
});
expect(game.id.toString()).toBe('game1');
expect(game.name.toString()).toBe('iRacing');
});
it('should throw on invalid id', () => {
expect(() => Game.create({
id: '',
name: 'iRacing',
})).toThrow('Game ID cannot be empty');
});
it('should throw on invalid name', () => {
expect(() => Game.create({
id: 'game1',
name: '',
})).toThrow('Game name cannot be empty');
});
it('should throw on name too long', () => {
const longName = 'a'.repeat(51);
expect(() => Game.create({
id: 'game1',
name: longName,
})).toThrow('Game name cannot exceed 50 characters');
});
});