diff --git a/integration_test/library_paging_performance_test.dart b/integration_test/library_paging_performance_test.dart index c60d3454..a6466ae9 100644 --- a/integration_test/library_paging_performance_test.dart +++ b/integration_test/library_paging_performance_test.dart @@ -16,6 +16,7 @@ import 'package:spotiflac_android/providers/settings_provider.dart'; import 'package:spotiflac_android/screens/mornye_library_screen.dart'; import 'package:spotiflac_android/theme/mornye_theme.dart'; +import '../test/support/fixed_settings.dart'; import '../test/support/library_paging_fixture.dart'; import 'performance_probe.dart'; @@ -28,11 +29,6 @@ const _request = ( completeness: null, ); -class _Settings extends SettingsNotifier { - @override - AppSettings build() => const AppSettings(localLibraryEnabled: true); -} - class _History extends DownloadHistoryNotifier { @override DownloadHistoryState build() => DownloadHistoryState(); @@ -197,7 +193,11 @@ void main() { child: ProviderScope( key: ValueKey(mountNumber++), overrides: [ - settingsProvider.overrideWith(_Settings.new), + settingsProvider.overrideWith( + () => FixedSettingsNotifier( + const AppSettings(localLibraryEnabled: true), + ), + ), downloadHistoryProvider.overrideWith(_History.new), localLibraryProvider.overrideWith(_Local.new), libraryBrowsePageLoaderProvider.overrideWithValue(readPage), diff --git a/test/artist_tag_mode_settings_test.dart b/test/artist_tag_mode_settings_test.dart index 8da02e18..db54787c 100644 --- a/test/artist_tag_mode_settings_test.dart +++ b/test/artist_tag_mode_settings_test.dart @@ -8,11 +8,7 @@ import 'package:spotiflac_android/providers/settings_provider.dart'; import 'package:spotiflac_android/screens/settings/metadata_settings_page.dart'; import 'package:spotiflac_android/utils/artist_utils.dart'; -/// Skips loading persisted settings; mode changes use the real validation. -class _Settings extends SettingsNotifier { - @override - AppSettings build() => const AppSettings(); -} +import 'support/fixed_settings.dart'; void main() { setUp(() => SharedPreferences.setMockInitialValues({})); @@ -35,7 +31,7 @@ void main() { tester.view.devicePixelRatio = 1; addTearDown(tester.view.reset); final container = ProviderContainer( - overrides: [settingsProvider.overrideWith(_Settings.new)], + overrides: [settingsProvider.overrideWith(FixedSettingsNotifier.new)], ); addTearDown(container.dispose); await tester.pumpWidget( diff --git a/test/collection_track_rebuild_test.dart b/test/collection_track_rebuild_test.dart index 3965ffe0..09aa3508 100644 --- a/test/collection_track_rebuild_test.dart +++ b/test/collection_track_rebuild_test.dart @@ -3,7 +3,6 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:spotiflac_android/l10n/l10n.dart'; import 'package:spotiflac_android/models/download_item.dart'; -import 'package:spotiflac_android/models/settings.dart'; import 'package:spotiflac_android/models/track.dart'; import 'package:spotiflac_android/providers/download_queue_provider.dart'; import 'package:spotiflac_android/providers/library_collections_provider.dart'; @@ -18,6 +17,8 @@ import 'package:spotiflac_android/widgets/album_detail_header.dart'; import 'package:spotiflac_android/widgets/track_list_tile.dart'; import 'package:spotiflac_android/widgets/track_detail_actions.dart'; +import 'support/fixed_settings.dart'; + const _track = Track( id: 'example-track', name: 'Example song', @@ -26,11 +27,6 @@ const _track = Track( duration: 180, ); -class _Settings extends SettingsNotifier { - @override - AppSettings build() => const AppSettings(); -} - class _Collections extends LibraryCollectionsNotifier { var _batchCalls = 0; @override @@ -89,7 +85,7 @@ void main() { final snapshot = Provider((ref) => lookup); final container = ProviderContainer( overrides: [ - settingsProvider.overrideWith(_Settings.new), + settingsProvider.overrideWith(FixedSettingsNotifier.new), libraryCollectionsProvider.overrideWith(_Collections.new), currentMediaItemProvider.overrideWith((ref) => Stream.value(null)), downloadQueueLookupProvider.overrideWith( @@ -204,7 +200,7 @@ void main() { final collections = _Collections(); final container = ProviderContainer( overrides: [ - settingsProvider.overrideWith(_Settings.new), + settingsProvider.overrideWith(FixedSettingsNotifier.new), libraryCollectionsProvider.overrideWith(() => collections), recentAccessProvider.overrideWith(_Recent.new), currentMediaItemProvider.overrideWith((ref) => Stream.value(null)), diff --git a/test/download_queue_deleted_file_test.dart b/test/download_queue_deleted_file_test.dart index 4bbb1938..adf8aa20 100644 --- a/test/download_queue_deleted_file_test.dart +++ b/test/download_queue_deleted_file_test.dart @@ -1,17 +1,13 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:spotiflac_android/models/download_item.dart'; -import 'package:spotiflac_android/models/settings.dart'; import 'package:spotiflac_android/models/track.dart'; import 'package:spotiflac_android/providers/download_queue_provider.dart'; import 'package:spotiflac_android/providers/extension_provider.dart'; import 'package:spotiflac_android/providers/settings_provider.dart'; import 'package:spotiflac_android/services/source_deletion_events.dart'; -class _Settings extends SettingsNotifier { - @override - AppSettings build() => const AppSettings(); -} +import 'support/fixed_settings.dart'; class _Extensions extends ExtensionNotifier { @override @@ -109,7 +105,7 @@ void main() { ); final container = ProviderContainer( overrides: [ - settingsProvider.overrideWith(_Settings.new), + settingsProvider.overrideWith(FixedSettingsNotifier.new), downloadQueueProvider.overrideWith(() => _Queue(initial)), ], ); @@ -145,7 +141,7 @@ void main() { ); final container = ProviderContainer( overrides: [ - settingsProvider.overrideWith(_Settings.new), + settingsProvider.overrideWith(FixedSettingsNotifier.new), extensionProvider.overrideWith(_Extensions.new), downloadQueueProvider.overrideWith( () => _Queue( @@ -194,7 +190,7 @@ void main() { final initial = const DownloadQueueState().copyWith(items: [item]); final container = ProviderContainer( overrides: [ - settingsProvider.overrideWith(_Settings.new), + settingsProvider.overrideWith(FixedSettingsNotifier.new), downloadQueueProvider.overrideWith(() => _Queue(initial)), ], ); diff --git a/test/download_queue_recovery_test.dart b/test/download_queue_recovery_test.dart index 085b1d42..e12832c7 100644 --- a/test/download_queue_recovery_test.dart +++ b/test/download_queue_recovery_test.dart @@ -4,16 +4,12 @@ import 'package:flutter/services.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:spotiflac_android/models/download_item.dart'; -import 'package:spotiflac_android/models/settings.dart'; import 'package:spotiflac_android/models/track.dart'; import 'package:spotiflac_android/providers/download_queue_provider.dart'; import 'package:spotiflac_android/providers/extension_provider.dart'; import 'package:spotiflac_android/providers/settings_provider.dart'; -class _Settings extends SettingsNotifier { - @override - AppSettings build() => const AppSettings(); -} +import 'support/fixed_settings.dart'; class _Queue extends DownloadQueueNotifier { @override @@ -75,7 +71,7 @@ void main() { final container = ProviderContainer( overrides: [ downloadQueueProvider.overrideWith(() => queue), - settingsProvider.overrideWith(_Settings.new), + settingsProvider.overrideWith(FixedSettingsNotifier.new), extensionProvider.overrideWith(() => extensions), ], ); @@ -120,7 +116,7 @@ void main() { final container = ProviderContainer( overrides: [ downloadQueueProvider.overrideWith(() => queue), - settingsProvider.overrideWith(_Settings.new), + settingsProvider.overrideWith(FixedSettingsNotifier.new), extensionProvider.overrideWith(() => extensions), ], ); diff --git a/test/download_queue_startup_flush_test.dart b/test/download_queue_startup_flush_test.dart index d9934790..3f1584d7 100644 --- a/test/download_queue_startup_flush_test.dart +++ b/test/download_queue_startup_flush_test.dart @@ -12,6 +12,8 @@ import 'package:spotiflac_android/providers/download_queue_provider.dart'; import 'package:spotiflac_android/providers/settings_provider.dart'; import 'package:spotiflac_android/services/app_state_database.dart'; +import 'support/fixed_settings.dart'; + const _earlyTrack = Track( id: 'example:early', name: 'Immediate addition', @@ -20,12 +22,6 @@ const _earlyTrack = Track( duration: 180, ); -class _Settings extends SettingsNotifier { - @override - AppSettings build() => - const AppSettings(downloadDirectory: '/fixture/output'); -} - void main() { TestWidgetsFlutterBinding.ensureInitialized(); test( @@ -147,7 +143,13 @@ void main() { }); addTearDown(() => messenger.setMockMethodCallHandler(sqlite, null)); ProviderContainer scope() => ProviderContainer( - overrides: [settingsProvider.overrideWith(_Settings.new)], + overrides: [ + settingsProvider.overrideWith( + () => FixedSettingsNotifier( + const AppSettings(downloadDirectory: '/fixture/output'), + ), + ), + ], ); final container = scope(); diff --git a/test/download_retry_batch_test.dart b/test/download_retry_batch_test.dart index 1d69fd54..14497164 100644 --- a/test/download_retry_batch_test.dart +++ b/test/download_retry_batch_test.dart @@ -13,11 +13,7 @@ import 'package:spotiflac_android/providers/download_queue_provider.dart'; import 'package:spotiflac_android/providers/settings_provider.dart'; import 'package:spotiflac_android/services/platform_bridge.dart'; -class _Settings extends SettingsNotifier { - @override - AppSettings build() => - const AppSettings(downloadDirectory: '/fixture/output'); -} +import 'support/fixed_settings.dart'; class _Queue extends DownloadQueueNotifier { _Queue(this._items); @@ -165,7 +161,11 @@ void main() { ]; final container = ProviderContainer( overrides: [ - settingsProvider.overrideWith(_Settings.new), + settingsProvider.overrideWith( + () => FixedSettingsNotifier( + const AppSettings(downloadDirectory: '/fixture/output'), + ), + ), downloadQueueProvider.overrideWith(() => _Queue(initial)), ], ); @@ -249,7 +249,11 @@ void main() { ]; final container = ProviderContainer( overrides: [ - settingsProvider.overrideWith(_Settings.new), + settingsProvider.overrideWith( + () => FixedSettingsNotifier( + const AppSettings(downloadDirectory: '/fixture/output'), + ), + ), downloadQueueProvider.overrideWith(() => _Queue(initial)), ], ); @@ -353,7 +357,11 @@ void main() { ]; final container = ProviderContainer( overrides: [ - settingsProvider.overrideWith(_Settings.new), + settingsProvider.overrideWith( + () => FixedSettingsNotifier( + const AppSettings(downloadDirectory: '/fixture/output'), + ), + ), downloadQueueProvider.overrideWith(() => _Queue(initial)), ], ); diff --git a/test/download_service_picker_drag_test.dart b/test/download_service_picker_drag_test.dart index 16343cad..ed8bab4d 100644 --- a/test/download_service_picker_drag_test.dart +++ b/test/download_service_picker_drag_test.dart @@ -3,12 +3,13 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:spotiflac_android/l10n/app_localizations.dart'; -import 'package:spotiflac_android/models/settings.dart'; import 'package:spotiflac_android/providers/extension_provider.dart'; import 'package:spotiflac_android/providers/settings_provider.dart'; import 'package:spotiflac_android/theme/mornye_theme.dart'; import 'package:spotiflac_android/widgets/download_service_picker.dart'; +import 'support/fixed_settings.dart'; + class _Extensions extends ExtensionNotifier { _Extensions( this._qualityCount, { @@ -87,11 +88,6 @@ class _Extensions extends ExtensionNotifier { } } -class _Settings extends SettingsNotifier { - @override - AppSettings build() => const AppSettings(); -} - void main() { for (final (qualityCount, mornye) in [ (3, false), @@ -110,7 +106,7 @@ void main() { ProviderScope( overrides: [ extensionProvider.overrideWith(() => _Extensions(qualityCount)), - settingsProvider.overrideWith(_Settings.new), + settingsProvider.overrideWith(FixedSettingsNotifier.new), ], child: MaterialApp( theme: mornye @@ -190,7 +186,7 @@ void main() { ProviderScope( overrides: [ extensionProvider.overrideWith(() => extensions), - settingsProvider.overrideWith(_Settings.new), + settingsProvider.overrideWith(FixedSettingsNotifier.new), ], child: MaterialApp( theme: MornyeTheme.build(brightness), diff --git a/test/extension_action_forms_test.dart b/test/extension_action_forms_test.dart index 0c2d57f5..efdb1fa3 100644 --- a/test/extension_action_forms_test.dart +++ b/test/extension_action_forms_test.dart @@ -5,16 +5,12 @@ import 'package:flutter/services.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:spotiflac_android/l10n/app_localizations.dart'; -import 'package:spotiflac_android/models/settings.dart'; import 'package:spotiflac_android/providers/settings_provider.dart'; import 'package:spotiflac_android/theme/mornye_theme.dart'; import 'package:spotiflac_android/utils/extension_action_forms.dart'; import 'package:spotiflac_android/widgets/app_bottom_sheet.dart'; -class _Settings extends SettingsNotifier { - @override - AppSettings build() => const AppSettings(); -} +import 'support/fixed_settings.dart'; void main() { const channel = MethodChannel('com.zarz.spotiflac/backend'); @@ -30,7 +26,7 @@ void main() { }) { return tester.pumpWidget( ProviderScope( - overrides: [settingsProvider.overrideWith(_Settings.new)], + overrides: [settingsProvider.overrideWith(FixedSettingsNotifier.new)], child: MaterialApp( theme: mornye ? MornyeTheme.build(Brightness.dark) : ThemeData(), localizationsDelegates: AppLocalizations.localizationsDelegates, diff --git a/test/extension_priority_links_test.dart b/test/extension_priority_links_test.dart index 139a5b1a..0f9d026f 100644 --- a/test/extension_priority_links_test.dart +++ b/test/extension_priority_links_test.dart @@ -2,7 +2,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:spotiflac_android/l10n/app_localizations.dart'; -import 'package:spotiflac_android/models/settings.dart'; import 'package:spotiflac_android/providers/extension_provider.dart'; import 'package:spotiflac_android/providers/settings_provider.dart'; import 'package:spotiflac_android/screens/settings/download_fallback_extensions_page.dart'; @@ -12,10 +11,7 @@ import 'package:spotiflac_android/screens/settings/provider_priority_page.dart'; import 'package:spotiflac_android/theme/mornye_theme.dart'; import 'package:spotiflac_android/widgets/settings_group.dart'; -class _Settings extends SettingsNotifier { - @override - AppSettings build() => const AppSettings(); -} +import 'support/fixed_settings.dart'; class _Extensions extends ExtensionNotifier { _Extensions(this.extension); @@ -70,7 +66,7 @@ void main() { await tester.pumpWidget( ProviderScope( overrides: [ - settingsProvider.overrideWith(_Settings.new), + settingsProvider.overrideWith(FixedSettingsNotifier.new), extensionProvider.overrideWith( () => _Extensions( extension.copyWith( diff --git a/test/extension_settings_ui_test.dart b/test/extension_settings_ui_test.dart index 64143f57..a199f83b 100644 --- a/test/extension_settings_ui_test.dart +++ b/test/extension_settings_ui_test.dart @@ -7,17 +7,13 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:spotiflac_android/l10n/app_localizations.dart'; -import 'package:spotiflac_android/models/settings.dart'; import 'package:spotiflac_android/providers/extension_provider.dart'; import 'package:spotiflac_android/providers/settings_provider.dart'; import 'package:spotiflac_android/screens/settings/extension_detail_page.dart'; import 'package:spotiflac_android/theme/mornye_theme.dart'; import 'package:spotiflac_android/widgets/settings_group.dart'; -class _Settings extends SettingsNotifier { - @override - AppSettings build() => const AppSettings(); -} +import 'support/fixed_settings.dart'; class _Extensions extends ExtensionNotifier { @override @@ -109,7 +105,7 @@ void main() { await tester.pumpWidget( ProviderScope( overrides: [ - settingsProvider.overrideWith(_Settings.new), + settingsProvider.overrideWith(FixedSettingsNotifier.new), extensionProvider.overrideWith(_Extensions.new), ], child: MaterialApp( diff --git a/test/extension_verification_browser_test.dart b/test/extension_verification_browser_test.dart index f8d7b0b1..5fe6585b 100644 --- a/test/extension_verification_browser_test.dart +++ b/test/extension_verification_browser_test.dart @@ -3,12 +3,13 @@ import 'dart:async'; import 'package:flutter/services.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:spotiflac_android/models/settings.dart'; import 'package:spotiflac_android/providers/settings_provider.dart'; import 'package:spotiflac_android/providers/track_provider.dart'; import 'package:spotiflac_android/services/platform_bridge.dart'; import 'package:spotiflac_android/utils/extension_auth_launcher.dart'; +import 'support/fixed_settings.dart'; + void main() { TestWidgetsFlutterBinding.ensureInitialized(); const channel = MethodChannel('plugins.flutter.io/url_launcher'); @@ -114,7 +115,7 @@ void main() { return true; }); final container = ProviderContainer( - overrides: [settingsProvider.overrideWith(_Settings.new)], + overrides: [settingsProvider.overrideWith(FixedSettingsNotifier.new)], ); addTearDown(container.dispose); await container @@ -130,8 +131,3 @@ void main() { }, ); } - -class _Settings extends SettingsNotifier { - @override - AppSettings build() => const AppSettings(); -} diff --git a/test/library_browse_sqlite_paging_test.dart b/test/library_browse_sqlite_paging_test.dart index 9acb4575..517f5195 100644 --- a/test/library_browse_sqlite_paging_test.dart +++ b/test/library_browse_sqlite_paging_test.dart @@ -8,14 +8,10 @@ import 'package:spotiflac_android/providers/settings_provider.dart'; import 'package:spotiflac_android/services/album_completeness.dart'; import 'package:spotiflac_android/services/library_queue_store.dart'; +import 'support/fixed_settings.dart'; import 'support/library_paging_fixture.dart'; import 'support/sqlite_process_database.dart'; -class _Settings extends SettingsNotifier { - @override - AppSettings build() => const AppSettings(localLibraryEnabled: true); -} - class _History extends DownloadHistoryNotifier { @override DownloadHistoryState build() => DownloadHistoryState(); @@ -102,7 +98,11 @@ void main() { var returned = 0; final container = ProviderContainer( overrides: [ - settingsProvider.overrideWith(_Settings.new), + settingsProvider.overrideWith( + () => FixedSettingsNotifier( + const AppSettings(localLibraryEnabled: true), + ), + ), downloadHistoryProvider.overrideWith(_History.new), localLibraryProvider.overrideWith(_Local.new), libraryBrowsePageLoaderProvider.overrideWithValue((page) async { diff --git a/test/library_settings_cleanup_test.dart b/test/library_settings_cleanup_test.dart index d2619153..0a01da8f 100644 --- a/test/library_settings_cleanup_test.dart +++ b/test/library_settings_cleanup_test.dart @@ -16,10 +16,7 @@ import 'package:spotiflac_android/theme/mornye_theme.dart'; import 'package:spotiflac_android/widgets/app_loading_indicator.dart'; import 'package:spotiflac_android/widgets/settings_group.dart'; -class _Settings extends SettingsNotifier { - @override - AppSettings build() => const AppSettings(localLibraryEnabled: true); -} +import 'support/fixed_settings.dart'; class _Library extends LocalLibraryNotifier { _Library(this._initial, this._cleanup); @@ -92,7 +89,11 @@ Future _mount( await tester.pumpWidget( ProviderScope( overrides: [ - settingsProvider.overrideWith(_Settings.new), + settingsProvider.overrideWith( + () => FixedSettingsNotifier( + const AppSettings(localLibraryEnabled: true), + ), + ), localLibraryProvider.overrideWith(() => library), downloadHistoryProvider.overrideWith(() => history), ], diff --git a/test/listening_and_releases_screen_test.dart b/test/listening_and_releases_screen_test.dart index e399d8de..6a0c375e 100644 --- a/test/listening_and_releases_screen_test.dart +++ b/test/listening_and_releases_screen_test.dart @@ -2,7 +2,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:spotiflac_android/l10n/l10n.dart'; -import 'package:spotiflac_android/models/settings.dart'; import 'package:spotiflac_android/providers/settings_provider.dart'; import 'package:spotiflac_android/providers/weekly_releases_provider.dart'; import 'package:spotiflac_android/screens/listening_statistics_screen.dart'; @@ -12,10 +11,7 @@ import 'package:spotiflac_android/services/weekly_releases.dart'; import 'package:spotiflac_android/theme/mornye_theme.dart'; import 'package:spotiflac_android/widgets/player_artwork.dart'; -class _Settings extends SettingsNotifier { - @override - AppSettings build() => const AppSettings(); -} +import 'support/fixed_settings.dart'; void main() { for (final mornye in [false, true]) { @@ -32,7 +28,7 @@ void main() { await tester.pumpWidget( ProviderScope( overrides: [ - settingsProvider.overrideWith(_Settings.new), + settingsProvider.overrideWith(FixedSettingsNotifier.new), listeningSummaryProvider.overrideWith((ref, period) async { requested.add(period); return ListeningSummary.fromRows([ diff --git a/test/local_library_artwork_test.dart b/test/local_library_artwork_test.dart index 43530941..8db849b7 100644 --- a/test/local_library_artwork_test.dart +++ b/test/local_library_artwork_test.dart @@ -23,10 +23,7 @@ import 'package:spotiflac_android/widgets/cached_cover_image.dart'; import 'package:spotiflac_android/widgets/local_library_artwork_builder.dart'; import 'package:spotiflac_android/widgets/mornye_artist_header.dart'; -class _Settings extends SettingsNotifier { - @override - AppSettings build() => const AppSettings(localLibraryEnabled: false); -} +import 'support/fixed_settings.dart'; class _History extends DownloadHistoryNotifier { @override @@ -79,7 +76,13 @@ void main() { }); Widget app(Widget home, {bool mornye = false}) => ProviderScope( - overrides: [settingsProvider.overrideWith(_Settings.new)], + overrides: [ + settingsProvider.overrideWith( + () => FixedSettingsNotifier( + const AppSettings(localLibraryEnabled: false), + ), + ), + ], child: MaterialApp( theme: mornye ? MornyeTheme.build(Brightness.light) : AppTheme.light(), localizationsDelegates: AppLocalizations.localizationsDelegates, @@ -305,7 +308,11 @@ void main() { await tester.pumpWidget( ProviderScope( overrides: [ - settingsProvider.overrideWith(_Settings.new), + settingsProvider.overrideWith( + () => FixedSettingsNotifier( + const AppSettings(localLibraryEnabled: false), + ), + ), downloadHistoryProvider.overrideWith(_History.new), libraryBrowsePageLoaderProvider.overrideWithValue( (request) async => LibraryBrowsePage([ diff --git a/test/metadata_separator_settings_test.dart b/test/metadata_separator_settings_test.dart index c4317007..47576089 100644 --- a/test/metadata_separator_settings_test.dart +++ b/test/metadata_separator_settings_test.dart @@ -3,17 +3,13 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:spotiflac_android/l10n/app_localizations.dart'; -import 'package:spotiflac_android/models/settings.dart'; import 'package:spotiflac_android/providers/settings_provider.dart'; import 'package:spotiflac_android/screens/settings/metadata_separator_settings_page.dart'; import 'package:spotiflac_android/theme/mornye_theme.dart'; import 'package:spotiflac_android/widgets/app_bottom_sheet.dart'; import 'package:spotiflac_android/widgets/settings_group.dart'; -class _Settings extends SettingsNotifier { - @override - AppSettings build() => const AppSettings(); -} +import 'support/fixed_settings.dart'; void main() { setUp(() => SharedPreferences.setMockInitialValues({})); @@ -26,7 +22,9 @@ void main() { tester.view.devicePixelRatio = 1; addTearDown(tester.view.reset); final container = ProviderContainer( - overrides: [settingsProvider.overrideWith(_Settings.new)], + overrides: [ + settingsProvider.overrideWith(FixedSettingsNotifier.new), + ], ); addTearDown(container.dispose); await tester.pumpWidget( diff --git a/test/support/fixed_settings.dart b/test/support/fixed_settings.dart new file mode 100644 index 00000000..b5fc7bd8 --- /dev/null +++ b/test/support/fixed_settings.dart @@ -0,0 +1,12 @@ +import 'package:spotiflac_android/models/settings.dart'; +import 'package:spotiflac_android/providers/settings_provider.dart'; + +/// Skips loading persisted settings and serves [initial] unchanged. +class FixedSettingsNotifier extends SettingsNotifier { + FixedSettingsNotifier([this.initial = const AppSettings()]); + + final AppSettings initial; + + @override + AppSettings build() => initial; +}