Extract settings and harden geofence automation

This commit is contained in:
Artem Kokos
2026-05-15 10:18:46 +07:00
parent 1963488479
commit d796537917
21 changed files with 1392 additions and 278 deletions

View File

@@ -2,6 +2,8 @@ import 'package:dio/dio.dart';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:ignis_app/features/settings/models/app_theme_preset.dart';
import 'package:ignis_app/features/settings/providers/settings_providers.dart';
import 'package:ignis_app/providers/providers.dart';
import 'package:ignis_app/services/api_client.dart';
import 'package:ignis_app/services/credentials_storage.dart';
@@ -336,14 +338,18 @@ ProviderContainer createTestContainer(
FakeIgnisApi api, {
SettingsService? settingsService,
bool remotePollingEnabled = true,
AppThemePreset initialThemePreset = AppThemePreset.fallback,
List extraOverrides = const [],
}) {
final overrides = [
apiProvider.overrideWithValue(api),
remotePollingEnabledProvider.overrideWithValue(remotePollingEnabled),
initialAppThemePresetProvider.overrideWithValue(initialThemePreset),
];
if (settingsService != null) {
overrides.add(settingsServiceProvider.overrideWithValue(settingsService));
}
overrides.addAll(extraOverrides.cast());
final container = ProviderContainer(overrides: overrides);
addTearDown(container.dispose);
@@ -356,11 +362,15 @@ Future<ProviderContainer> pumpTestApp(
FakeIgnisApi? api,
SettingsService? settingsService,
bool remotePollingEnabled = true,
AppThemePreset initialThemePreset = AppThemePreset.fallback,
List extraOverrides = const [],
}) async {
final container = createTestContainer(
api ?? FakeIgnisApi(),
settingsService: settingsService,
remotePollingEnabled: remotePollingEnabled,
initialThemePreset: initialThemePreset,
extraOverrides: extraOverrides,
);
await tester.pumpWidget(