Files
jaengseung-made/lib/__tests__/ai-usage.test.ts
gahusb 84b36267bf feat(phase2): 일일 사용량 유틸(KST) + tarot_readings·ai_usage_log 마이그레이션
- kstDayStartISO: KST 자정을 UTC ISO로 변환
- getTodayUsage, recordUsage: AI 사용량 조회·기록
- DB: tarot_readings, ai_usage_log 테이블 생성
- saju service_settings 삭제 (숨김 해제)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AAtcmKKtqDUe4NyVgy1aLQ
2026-07-02 20:46:35 +09:00

18 lines
819 B
TypeScript

import { describe, it, expect } from 'vitest';
import { kstDayStartISO, SAJU_DAILY_LIMIT, TAROT_DAILY_LIMIT } from '../ai-usage';
describe('kstDayStartISO', () => {
it('KST 자정을 UTC로 환산한다 (KST 15:00 UTC = 당일 00:00 KST)', () => {
// 2026-07-02T05:00:00Z = 2026-07-02 14:00 KST → 그날 KST 자정 = 2026-07-01T15:00:00Z
expect(kstDayStartISO(new Date('2026-07-02T05:00:00Z'))).toBe('2026-07-01T15:00:00.000Z');
});
it('KST 자정 직후도 같은 날로 계산한다', () => {
// 2026-07-01T15:30:00Z = 2026-07-02 00:30 KST → KST 자정 = 2026-07-01T15:00:00Z
expect(kstDayStartISO(new Date('2026-07-01T15:30:00Z'))).toBe('2026-07-01T15:00:00.000Z');
});
it('제한 상수', () => {
expect(SAJU_DAILY_LIMIT).toBe(1);
expect(TAROT_DAILY_LIMIT).toBe(3);
});
});