Baka-Konto-Dialog: Passwort wird jetzt auch getrimmt (wie im Navidrome-Dialog)
Das Passwortfeld im Baka-Konto-Anmelde-Dialog wurde vor dem Absenden und
vor dem Speichern nicht getrimmt — ein durch Autofill eingefügtes
Leerzeichen ließ korrekte Logins scheitern. Gleicher Fix wie bereits in
settings_screen.dart (Commit 3d1e00646a) für denselben Symptom-Typ.
This commit is contained in:
@@ -301,6 +301,40 @@ void main() {
|
||||
expect(auth.istAngemeldet, isTrue);
|
||||
});
|
||||
|
||||
testWidgets(
|
||||
'Anmelden trimmt das Passwort — ein unsichtbares Leerzeichen durch '
|
||||
'Autofill im obscureText-Feld darf den Login nicht scheitern lassen '
|
||||
'(wie im Navidrome-Dialog, settings_screen.dart)', (tester) async {
|
||||
late String gesendetesPasswort;
|
||||
final auth = BakaAuth(
|
||||
client: MockClient((request) async {
|
||||
final body = jsonDecode(request.body) as Map<String, dynamic>;
|
||||
gesendetesPasswort = body['password'] as String;
|
||||
if (body['password'] == 'geheim') {
|
||||
return http.Response(jsonEncode({'token': 'jwt-neu'}), 200);
|
||||
}
|
||||
return http.Response('', 500);
|
||||
}),
|
||||
speicher: _MemorySpeicher(),
|
||||
);
|
||||
final nav = NavidromeService()
|
||||
..setCredentials('https://musik.baka-net.de', 'Tinker', 'altesPasswort');
|
||||
|
||||
await tester.pumpWidget(_wrap(auth,
|
||||
db: db, categories: categories, navidrome: nav));
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
await tester.tap(find.text('Beim Baka-Konto anmelden'));
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
await tester.enterText(find.byType(TextField).last, 'geheim ');
|
||||
await tester.tap(find.text('Anmelden'));
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
expect(gesendetesPasswort, 'geheim');
|
||||
expect(nav.passwort, 'geheim');
|
||||
});
|
||||
|
||||
testWidgets(
|
||||
'Server-User meldet sich im Hintergrund mit denselben Zugangsdaten '
|
||||
'beim Baka-Konto an', (tester) async {
|
||||
|
||||
Reference in New Issue
Block a user