import 'package:flutter_test/flutter_test.dart'; import 'package:melo/library/song_sort.dart'; import 'package:melo/shared/sort_store.dart'; import 'package:shared_preferences/shared_preferences.dart'; void main() { setUp(() => SharedPreferences.setMockInitialValues({})); test('ohne gespeicherte Wahl gilt "Zuletzt hinzugefügt", neueste zuerst', () async { final setting = await SortStore.load('meine_musik'); expect(setting.mode, SortMode.dateAdded); expect(setting.ascending, isFalse); }); test('gespeicherte Wahl wird zurückgelesen', () async { await SortStore.save( 'meine_musik', const SortSetting(SortMode.name, ascending: true), ); final setting = await SortStore.load('meine_musik'); expect(setting.mode, SortMode.name); expect(setting.ascending, isTrue); }); test('Listen speichern getrennt voneinander', () async { await SortStore.save( 'meine_musik', const SortSetting(SortMode.playCount, ascending: false), ); await SortStore.save( 'favoriten', const SortSetting(SortMode.name, ascending: true), ); expect((await SortStore.load('meine_musik')).mode, SortMode.playCount); expect((await SortStore.load('favoriten')).mode, SortMode.name); }); test('unbrauchbarer gespeicherter Wert fällt auf den Standard zurück', () async { SharedPreferences.setMockInitialValues({'sort_meine_musik_mode': 99}); final setting = await SortStore.load('meine_musik'); expect(setting.mode, SortMode.dateAdded); }); }