Files
Melo/test/settings/app_settings_test.dart
Hermes (Server)andClaude Sonnet 5 da012a3dca Tab-Reihenfolge, konfigurierbare Meine-Musik-Sektionen, Berechtigungen beim Start, schärferes Sperrbildschirm-Cover
- Tabs: Meine Musik, Suchen, Download, Favoriten (vorher Download vor Suchen)
- "Meine Musik": Schnellzugriffe (Favoriten/Wiedergabelisten/Zuletzt) einzeln
  über die Einstellungen abschaltbar
- Audio- und Benachrichtigungs-Berechtigung werden jetzt beim ersten Start
  gemeinsam angefragt statt erst bei Bedarf; Hinweisbanner + Einstellungen-
  Button bei dauerhafter Verweigerung (auch für Benachrichtigungen neu)
- Cover-Extraktion beim Android-Scan von 512px auf 1024px erhöht, für ein
  schärferes Cover im Sperrbildschirm
- Fix: notifyListeners() in LibraryService nur noch bei echter Wertänderung
  (verhinderte einen Test-Hang durch den neuen Start-Berechtigungs-Aufruf)

557 Tests grün, flutter analyze ohne Befund.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VM2JK5mV7AL1g2Rt6H6h9w
2026-08-25 14:17:13 +02:00

47 lines
1.5 KiB
Dart

import 'package:flutter_test/flutter_test.dart';
import 'package:melo/settings/app_settings.dart';
import 'package:shared_preferences/shared_preferences.dart';
void main() {
setUp(() => SharedPreferences.setMockInitialValues({}));
group('Meine-Musik-Sektionen', () {
test('sind ohne Auswahl standardmäßig alle aktiv', () async {
final settings = AppSettings();
await settings.init();
expect(settings.meineMusikSektionen,
Set.of(AppSettings.alleMeineMusikSektionen));
});
test('lassen sich einzeln abschalten und bleiben gespeichert', () async {
final settings = AppSettings();
await settings.init();
await settings.setMeineMusikSektionAktiv(
AppSettings.sektionWiedergabelisten, false);
expect(settings.meineMusikSektionen,
{AppSettings.sektionFavoriten, AppSettings.sektionZuletzt});
final neuGeladen = AppSettings();
await neuGeladen.init();
expect(neuGeladen.meineMusikSektionen,
{AppSettings.sektionFavoriten, AppSettings.sektionZuletzt});
});
test('lassen sich wieder einschalten', () async {
final settings = AppSettings();
await settings.init();
await settings.setMeineMusikSektionAktiv(
AppSettings.sektionFavoriten, false);
await settings.setMeineMusikSektionAktiv(
AppSettings.sektionFavoriten, true);
expect(settings.meineMusikSektionen,
Set.of(AppSettings.alleMeineMusikSektionen));
});
});
}