Files
core2026/packages/logic/test/loggingEntries.test.ts
T
Hide_D 15f6acb4a2 fix: 개인 기록에 장수별 실행 시각을 보존
로그 발생 시각과 트랜잭션 flush 시각을 분리하고, 정규 및 즉시 장수 행동 로그에는 실행 전 장수 턴 시각을 기록한다. 기존 로그 행은 변경하지 않는다.
2026-08-20 16:06:07 +00:00

44 lines
1.4 KiB
TypeScript

import { describe, expect, it } from 'vitest';
import { finalizeLogEntry, LogCategory, LogFormat, LogScope } from '../src/index.js';
describe('finalizeLogEntry', () => {
it('uses an explicit draft year and month for pre-month logs', () => {
expect(
finalizeLogEntry(
{
scope: LogScope.SYSTEM,
category: LogCategory.HISTORY,
text: '이전 달 사건',
format: LogFormat.YEAR_MONTH,
year: 193,
month: 12,
},
{ year: 194, month: 1 }
)
).toMatchObject({
year: 193,
month: 12,
text: '<C>●</>193년 12월:이전 달 사건',
});
});
it('keeps an explicit occurrence time instead of replacing it with the flush time', () => {
const occurredAt = new Date('0200-01-01T00:37:43.000Z');
const flushAt = new Date('0200-01-01T00:40:00.000Z');
expect(
finalizeLogEntry(
{
scope: LogScope.GENERAL,
category: LogCategory.ACTION,
text: '상업 투자를 실행했습니다.',
generalId: 1,
occurredAt,
},
{ year: 200, month: 1, at: flushAt }
)?.createdAt
).toEqual(occurredAt);
});
});