// device_model_test.dart — Device.fromJson 解析 online/client_version/last_login import 'package:flutter_test/flutter_test.dart'; import 'package:pangolin_vpn/models/device.dart'; void main() { test('解析全字段', () { final d = Device.fromJson({ 'uuid': 'd1', 'name': 'MacBook Pro', 'platform': 'macos', 'last_seen': '2026-06-28T10:00:00Z', 'client_version': 'v1.0.10', 'online': true, 'last_login': '2026-06-28T09:00:00Z', }); expect(d.uuid, 'd1'); expect(d.online, isTrue); expect(d.clientVersion, 'v1.0.10'); expect(d.lastLogin, DateTime.utc(2026, 6, 28, 9)); expect(d.lastSeen, DateTime.utc(2026, 6, 28, 10)); }); test('缺省:online=false,版本空,last_login=null', () { final d = Device.fromJson({'uuid': 'd2', 'name': 'PC', 'platform': 'windows'}); expect(d.online, isFalse); expect(d.clientVersion, ''); expect(d.lastLogin, isNull); expect(d.lastSeen, isNull); }); }