Notrufnummern-Datenbasis, Ländererkennung, State-Management und Lokalisierung (AP1-AP7)
Implementiert den kompletten Kern-Flow der Emergency App gemäß docs/plan.md: - Notrufnummern-Datenbasis für 199 Länder + Modelle/Repository (AP1) - DialerService für tel:-Notrufe ohne Auto-Dial (AP2) - Statisches UI mit Panik-Button-Fallback (AP3) - Priorisierte Ländererkennung: SIM/Netz -> GPS/Geocoding -> Cache (AP4) - EmergencyProvider verdrahtet Repository/LocationService mit der UI (AP5) - Manuelle Länderauswahl als Fallback samt eigener Priorität (AP6) - UI-Lokalisierung (de/en/fr/es), an erkanntes Land gekoppelt (AP7) Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
|
||||
import 'package:emergency/models/emergency_number.dart';
|
||||
import 'package:emergency/models/emergency_type.dart';
|
||||
|
||||
void main() {
|
||||
group('EmergencyNumber.fromJson', () {
|
||||
test('parst gültiges JSON korrekt', () {
|
||||
final number = EmergencyNumber.fromJson({
|
||||
'type': 'police',
|
||||
'number': '110',
|
||||
'label_de': 'Polizei',
|
||||
'label_en': 'Police',
|
||||
});
|
||||
|
||||
expect(number.type, EmergencyType.police);
|
||||
expect(number.number, '110');
|
||||
expect(number.labelDe, 'Polizei');
|
||||
expect(number.labelEn, 'Police');
|
||||
});
|
||||
|
||||
test('zwei inhaltsgleiche Instanzen sind gleich', () {
|
||||
final a = EmergencyNumber.fromJson({
|
||||
'type': 'general',
|
||||
'number': '112',
|
||||
'label_de': 'Notruf',
|
||||
'label_en': 'Emergency',
|
||||
});
|
||||
final b = EmergencyNumber.fromJson({
|
||||
'type': 'general',
|
||||
'number': '112',
|
||||
'label_de': 'Notruf',
|
||||
'label_en': 'Emergency',
|
||||
});
|
||||
|
||||
expect(a, equals(b));
|
||||
expect(a.hashCode, equals(b.hashCode));
|
||||
});
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user