@Tags(['integration', 'postgres']) library; import 'package:cyberhybridhub_server/trading/market_data_db.dart'; import 'package:test/test.dart'; import '../helpers/test_db.dart'; void main() { TestDb? testDb; setUpAll(() async { testDb = await TestDb.open(); }); tearDown(() async { if (testDb != null) { await testDb!.truncateTradingTables(); } }); tearDownAll(() async { await testDb?.close(); }); test('insertSnapshot then latestForSymbol returns newest by as_of', () async { if (testDb == null) { markTestSkipped('Set DATABASE_URL or TEST_DATABASE_URL for integration tests'); return; } final MarketDataDb db = testDb!.marketDataDb; final DateTime older = DateTime.utc(2026, 5, 23, 10); final DateTime newer = DateTime.utc(2026, 5, 23, 11); await db.insertSnapshot( symbol: 'SPY', metric: 'last_trade', price: 490, asOf: older, ); await db.insertSnapshot( symbol: 'SPY', metric: 'last_trade', price: 492, asOf: newer, ); final MarketDataSnapshot? latest = await db.latestForSymbol('SPY', 'last_trade'); expect(latest, isNotNull); expect(latest!.price, 492); expect( latest.asOf.toUtc().millisecondsSinceEpoch, greaterThan(older.toUtc().millisecondsSinceEpoch), ); }); }