Files
ignis_app/test/settings_theme_provider_test.dart
2026-05-15 10:18:46 +07:00

35 lines
1.3 KiB
Dart

import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_riverpod/flutter_riverpod.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/features/shared/providers/core_providers.dart';
import 'package:ignis_app/services/settings_service.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'test_support.dart';
void main() {
TestWidgetsFlutterBinding.ensureInitialized();
test('app theme notifier updates state and persists selection', () async {
SharedPreferences.setMockInitialValues({});
final settingsService = SettingsService(
credentialsStorage: InMemoryCredentialsStorage(),
);
final container = ProviderContainer(
overrides: [
settingsServiceProvider.overrideWithValue(settingsService),
initialAppThemePresetProvider.overrideWithValue(AppThemePreset.ember),
],
);
addTearDown(container.dispose);
await container
.read(appThemeProvider.notifier)
.setTheme(AppThemePreset.graphite);
expect(container.read(appThemeProvider), AppThemePreset.graphite);
expect(await settingsService.getAppThemePreset(), AppThemePreset.graphite);
});
}