Files
Qlyra/test/ip_lookup_service_test.dart
sevenhill 50816588e4
Build Android (FCM) / build-android-fcm (push) Canceled after 0s
Build Android / build-android (push) Canceled after 0s
Build iOS / build-ios (push) Canceled after 0s
Build Linux / build-linux (push) Canceled after 0s
Build macOS / build-macos (push) Canceled after 0s
Build Windows / build-windows (push) Canceled after 0s
Release (main) / android (oneme) (push) Canceled after 0s
Release (main) / android (qlyra) (push) Canceled after 0s
Release (main) / windows (push) Canceled after 0s
Release (main) / linux (push) Canceled after 0s
Release (main) / macos (push) Canceled after 0s
Release (main) / ios (push) Canceled after 0s
Release (main) / release (push) Canceled after 0s
Update Qlyra application
2026-08-30 22:53:15 +03:00

39 lines
1.2 KiB
Dart

import 'package:flutter_test/flutter_test.dart';
import 'package:qlyra/core/utils/ip_lookup_service.dart';
import 'package:qlyra/frontend/screens/profile/devices_screen.dart';
void main() {
test('devices screen can be constructed with the protected lookup flow', () {
expect(const DevicesScreen(), isA<DevicesScreen>());
});
test('normalizes an ipwho.is response', () {
final details = IpLookupDetails.fromIpWhoIs({
'success': true,
'city': 'Moscow',
'country': 'Russia',
'connection': {'asn': 64500, 'org': 'Example Org', 'isp': 'Example ISP'},
'security': {'mobile': true, 'proxy': false},
'timezone': {'id': 'Europe/Moscow'},
});
expect(details.city, 'Moscow');
expect(details.country, 'Russia');
expect(details.isp, 'Example ISP');
expect(details.network, 'AS64500 Example Org');
expect(details.mobile, isTrue);
expect(details.proxy, isFalse);
expect(details.timezone, 'Europe/Moscow');
});
test('rejects a failed provider response', () {
expect(
() => IpLookupDetails.fromIpWhoIs({
'success': false,
'message': 'Invalid IP',
}),
throwsFormatException,
);
});
}