PR 6: Database migration validation - fresh/upgrade test complete
✅ Database Setup: - Created PostgreSQL kartselldb with kartsell user - SSH port forward established (localhost:5432 → 178.104.200.7:5432) ✅ DbMigrator Fixes: - Fixed migration path discovery (AppContext.BaseDirectory fallback) - Added empty variable dictionary to suppress DbUp preprocessing - Fixed PostgreSQL dollar quoting conflict ($policy$ → $$) ✅ Migration Results: - All 21 migrations executed successfully - Schema versions journal created and tracked - 21 scripts processed in order, no rollback needed Status: FRESH DATABASE DEPLOYMENT SUCCESSFUL - kartselldb fully initialized with v16 schema - Ready for application startup Next: Deploy application and run integration tests Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
export function formatCurrency(value, currency, locale = 'ko-KR') {
|
||||
if (value == null || Number.isNaN(value))
|
||||
return '—';
|
||||
return new Intl.NumberFormat(locale, { style: 'currency', currency, maximumFractionDigits: 2 }).format(value);
|
||||
}
|
||||
export function formatPercent(value, digits = 2, locale = 'ko-KR') {
|
||||
if (value == null || Number.isNaN(value))
|
||||
return '—';
|
||||
return new Intl.NumberFormat(locale, { style: 'percent', minimumFractionDigits: digits, maximumFractionDigits: digits }).format(value);
|
||||
}
|
||||
export function formatQuantity(value, digits = 4, locale = 'ko-KR') {
|
||||
if (value == null || Number.isNaN(value))
|
||||
return '—';
|
||||
return new Intl.NumberFormat(locale, { maximumFractionDigits: digits }).format(value);
|
||||
}
|
||||
export function formatAsOf(value, locale = 'ko-KR') {
|
||||
if (!value)
|
||||
return '—';
|
||||
const date = value instanceof Date ? value : new Date(value);
|
||||
if (Number.isNaN(date.getTime()))
|
||||
return '—';
|
||||
return new Intl.DateTimeFormat(locale, { dateStyle: 'medium', timeStyle: 'short', timeZone: 'Asia/Seoul' }).format(date);
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
import { describe, expect, it } from 'vitest';
|
||||
import { formatCurrency, formatPercent, formatQuantity } from '../financial';
|
||||
describe('financial formatters', () => {
|
||||
it('renders missing values as an explicit em dash', () => { expect(formatCurrency(null, 'KRW')).toBe('—'); expect(formatPercent(undefined)).toBe('—'); });
|
||||
it('keeps percentage inputs in decimal-return units', () => { expect(formatPercent(0.125, 1)).toContain('12.5'); });
|
||||
it('uses bounded quantity precision', () => { expect(formatQuantity(1.234567, 2)).toContain('1.23'); });
|
||||
});
|
||||
Reference in New Issue
Block a user