import 'package:flutter_test/flutter_test.dart'; import 'package:pangolin_vpn/models/device_usage.dart'; void main() { group('DeviceUsage.fromJson', () { test('parses a full row and derives totals', () { final d = DeviceUsage.fromJson(const { 'uuid': 'dev-a', 'name': 'My iPhone', 'platform': 'ios', 'bytes_up': 1500, 'bytes_down': 2500, 'minutes_used': 8, }); expect(d.uuid, 'dev-a'); expect(d.name, 'My iPhone'); expect(d.platform, 'ios'); expect(d.bytesUp, 1500); expect(d.bytesDown, 2500); expect(d.minutesUsed, 8); expect(d.bytesTotal, 4000); expect(d.gbTotal, 4000 / (1024 * 1024 * 1024)); }); test('tolerates missing/absent fields with zero defaults', () { final d = DeviceUsage.fromJson(const {'uuid': 'dev-b', 'name': '', 'platform': ''}); expect(d.bytesUp, 0); expect(d.bytesDown, 0); expect(d.minutesUsed, 0); expect(d.bytesTotal, 0); }); }); }