Files
ignis_app/test/home_connection_change_test.dart
2026-05-15 11:26:23 +07:00

65 lines
1.6 KiB
Dart

import 'package:flutter_test/flutter_test.dart';
import 'package:ignis_app/features/homes/services/home_connection_change.dart';
import 'package:ignis_app/models/home_config.dart';
void main() {
test('new home always requires connection validation', () {
expect(
hasHomeConnectionChanges(
originalHome: null,
normalizedUrl: 'https://ignis.akokos.ru',
apiKey: 'secret-key',
originalApiKey: '',
),
isTrue,
);
});
test('local-only home edits do not require connection validation', () {
final originalHome = HomeConfig(
id: 'home-1',
name: 'Квартира',
url: 'https://ignis.akokos.ru',
latitude: 55.75,
longitude: 37.61,
);
expect(
hasHomeConnectionChanges(
originalHome: originalHome,
normalizedUrl: originalHome.url,
apiKey: 'saved-key',
originalApiKey: 'saved-key',
),
isFalse,
);
});
test('url or api key changes still require connection validation', () {
final originalHome = HomeConfig(
id: 'home-1',
name: 'Квартира',
url: 'https://ignis.akokos.ru',
);
expect(
hasHomeConnectionChanges(
originalHome: originalHome,
normalizedUrl: 'https://new.ignis.akokos.ru',
apiKey: 'saved-key',
originalApiKey: 'saved-key',
),
isTrue,
);
expect(
hasHomeConnectionChanges(
originalHome: originalHome,
normalizedUrl: originalHome.url,
apiKey: 'new-key',
originalApiKey: 'saved-key',
),
isTrue,
);
});
}