import 'package:cyberhybridhub/admin/utils/sync_run_formatters.dart'; import 'package:flutter_test/flutter_test.dart'; void main() { test('formatMarketHistorySlotWire matches server slot start wire form', () { expect( formatMarketHistorySlotWire(DateTime.utc(2026, 5, 26, 13, 30)), '2026-05-26T13:30:00Z', ); expect( formatMarketHistorySlotWire(DateTime.utc(2026, 5, 26, 16, 45)), '2026-05-26T16:45:00Z', ); }); test('formatLocalTimestamp converts UTC to local display', () { final DateTime utc = DateTime.utc(2026, 5, 27, 14, 30); final String formatted = formatLocalTimestamp(utc); expect(formatted, contains('2026-05-27')); expect(formatted, contains(':')); }); test('formatRelativeTime handles rate-limit style durations', () { final DateTime started = DateTime.utc(2026, 5, 27, 10); final DateTime now = DateTime.utc(2026, 5, 27, 12, 30); expect(formatRelativeTime(started, now: now), '2h ago'); }); test('parseHttpStatus finds status code in error text', () { expect( parseHttpStatus('getBarsRange rate limited: 429 Too Many Requests'), '429', ); expect(parseHttpStatus('no status here'), isNull); }); }