feat(spawnRandomPerk): Добавлена функция создания случайного бонуса по заданым координатам

This commit is contained in:
Ilia Mashkov
2026-07-19 15:08:22 +03:00
parent b2f0810ec2
commit a4c4e2a192
3 changed files with 58 additions and 0 deletions
@@ -0,0 +1,24 @@
import { PERK_FALL_SPEED, PERK_HEIGHT, PERK_WIDTH } from '../../config';
import { Perk } from '../../entities/perk/perk';
import { spawnRandomPerk } from './spawnRandomPerk';
describe('spawnRandomPerk', () => {
it('Возвращает корректное значение при неверных типах аргументов', () => {
expect(spawnRandomPerk(null, 0)).toBeNull();
expect(spawnRandomPerk(0, null)).toBeNull();
expect(spawnRandomPerk('10', 0)).toBeNull();
expect(spawnRandomPerk(0, undefined)).toBeNull();
});
it('Создает бонус в заданной точке с размерами и скоростью из конфига', () => {
const perk = spawnRandomPerk(10, 20);
expect(perk).toBeInstanceOf(Perk);
expect(perk.x).toBe(10);
expect(perk.y).toBe(20);
expect(perk.width).toBe(PERK_WIDTH);
expect(perk.height).toBe(PERK_HEIGHT);
expect(perk.fallSpeed).toBe(PERK_FALL_SPEED);
expect(perk.alive).toBe(true);
});
});