learning_ai_invt_trdg/web/src/lib/tradeHistoryLedger.diagnostic.test.ts

20 lines
885 B
TypeScript

import { describe, it, expect } from 'vitest';
import { buildHistoryLedger, aggregateHistoryLedger } from './tradeHistoryLedger';
describe('Trade History Ledger Diagnostics', () => {
it('aggregates a simple row correctly', () => {
const now = Date.now();
const dbRows = [
{ id: 'h1', profile_id: 'p1', timestamp: now - 60000, pnl: 50, side: 'SELL', symbol: 'BTC', entry_price: 100, exit_price: 110, size: 5, reason: 'exit' }
];
const ledger = buildHistoryLedger({ dbRows, includeRealtime: false });
expect(ledger).toHaveLength(1);
expect(ledger[0].pnl).toBe(50);
const agg = aggregateHistoryLedger(ledger);
expect(agg.totalPnl).toBe(50);
expect(agg.byProfile['p1']).toBeDefined();
expect(agg.byProfile['p1'].lastClosedTradeAt).toBe(ledger[0].timestampMs);
});
});