Files
core2026/app/game-frontend/test/tournamentStatus.test.ts
T
Hide_D be8340a985 fix: 토너먼트 단계를 순차 노출하고 참가 조를 표시한다
예선, 본선, 16강 영역을 실제 진행 단계부터 누적해서 보여준다. 참가 신청이 성공하면 배정된 예선 조를 선택하고 해당 표로 이동한다.
2026-08-21 15:54:26 +00:00

46 lines
1.7 KiB
TypeScript

import assert from 'node:assert/strict';
import { describe, it } from 'node:test';
import { resolveTournamentSectionVisibility, resolveTournamentStageName } from '../src/utils/tournamentStatus.ts';
void describe('tournament status labels', () => {
void it('describes inactive and active tournament stages', () => {
assert.equal(resolveTournamentStageName(0), '경기 없음');
assert.equal(resolveTournamentStageName(1), '참가 모집중');
assert.equal(resolveTournamentStageName(6), '베팅 진행중');
assert.equal(resolveTournamentStageName(10), '결승 진행중');
});
void it('uses a safe fallback for an unknown stage', () => {
assert.equal(resolveTournamentStageName(11), '상태 확인 중');
assert.equal(resolveTournamentStageName(-1), '상태 확인 중');
});
void it('reveals tournament sections only after their stage begins and retains completed results', () => {
assert.deepEqual(resolveTournamentSectionVisibility(0), {
preliminary: false,
final: false,
knockout: false,
});
assert.deepEqual(resolveTournamentSectionVisibility(1), {
preliminary: true,
final: false,
knockout: false,
});
assert.deepEqual(resolveTournamentSectionVisibility(3), {
preliminary: true,
final: true,
knockout: false,
});
assert.deepEqual(resolveTournamentSectionVisibility(5), {
preliminary: true,
final: true,
knockout: true,
});
assert.deepEqual(resolveTournamentSectionVisibility(0, 7), {
preliminary: true,
final: true,
knockout: true,
});
});
});