feat: 응답 가능한 서신과 턴 시간 호환 이관
등용장과 이민족 선택 응답을 turn daemon transaction으로 연결하고 Ref의 통일 이후 상태 전이와 수신자별 메시지 저장 규칙을 보존한다.\n\n유산 턴 시간 변경을 nextTurnTimeBase 기반 결정적 계산으로 바로잡고 API, 엔진, Chromium 회귀를 추가한다.
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
import { describe, expect, it } from 'vitest';
|
||||
|
||||
import { resolveResetTurnTimeBase } from '../src/router/inherit/index.js';
|
||||
|
||||
describe('inherit reset turn time Ref compatibility', () => {
|
||||
it('matches the Ref PHP deterministic seed, offset, and displayed minute', () => {
|
||||
const result = resolveResetTurnTimeBase({
|
||||
hiddenSeed: 'hidden-seed',
|
||||
userId: 'user-7',
|
||||
previousTurnTimeBase: 123_456,
|
||||
tickSeconds: 600,
|
||||
});
|
||||
|
||||
expect(result.nextTurnTimeBase).toBeCloseTo(302.5143852464758, 12);
|
||||
expect(result.nextTurnTimeLabel).toBe('00:05');
|
||||
});
|
||||
|
||||
it('uses the prior pending base as the next deterministic seed input', () => {
|
||||
const first = resolveResetTurnTimeBase({
|
||||
hiddenSeed: 'hidden-seed',
|
||||
userId: 'user-7',
|
||||
previousTurnTimeBase: 123_456,
|
||||
tickSeconds: 600,
|
||||
});
|
||||
const second = resolveResetTurnTimeBase({
|
||||
hiddenSeed: 'hidden-seed',
|
||||
userId: 'user-7',
|
||||
previousTurnTimeBase: first.nextTurnTimeBase,
|
||||
tickSeconds: 600,
|
||||
});
|
||||
|
||||
expect(second.nextTurnTimeBase).not.toBe(first.nextTurnTimeBase);
|
||||
expect(second.nextTurnTimeBase).toBeGreaterThanOrEqual(0);
|
||||
expect(second.nextTurnTimeBase).toBeLessThan(600);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user