fix(app): 移除设置页调试服务器地址
This commit is contained in:
1 parent
2b95c79931
commit
061aac6577
6 files changed
+25
-273
No files matched your search
@@ -12,45 +12,23 @@ void main() {
|
||||
InMemorySharedPreferencesAsync.empty();
|
||||
});
|
||||
|
||||
testWidgets(
|
||||
'should_show_server_settings_and_open_dialog_when_debug_tools_are_enabled',
|
||||
(tester) async {
|
||||
await _pumpFailureView(tester, showDebugTools: true);
|
||||
|
||||
final button = find.byKey(const Key('home-server-settings'));
|
||||
expect(button, findsOneWidget);
|
||||
expect(find.text('Server settings'), findsOneWidget);
|
||||
|
||||
await tester.tap(button);
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
expect(find.byKey(const Key('server-endpoint-input')), findsOneWidget);
|
||||
expect(find.text('Restart the app to apply.'), findsOneWidget);
|
||||
},
|
||||
);
|
||||
|
||||
testWidgets('should_hide_server_settings_when_debug_tools_are_disabled', (
|
||||
testWidgets('should_not_expose_server_settings_on_catalog_failure', (
|
||||
tester,
|
||||
) async {
|
||||
await _pumpFailureView(tester, showDebugTools: false);
|
||||
|
||||
await _pumpFailureView(tester);
|
||||
expect(find.byKey(const Key('home-server-settings')), findsNothing);
|
||||
expect(find.text('Server settings'), findsNothing);
|
||||
expect(find.text('Retry'), findsOneWidget);
|
||||
});
|
||||
}
|
||||
|
||||
Future<void> _pumpFailureView(
|
||||
WidgetTester tester, {
|
||||
required bool showDebugTools,
|
||||
}) async {
|
||||
Future<void> _pumpFailureView(WidgetTester tester) async {
|
||||
await tester.pumpWidget(
|
||||
MaterialApp(
|
||||
locale: const Locale('en'),
|
||||
localizationsDelegates: AppLocalizations.localizationsDelegates,
|
||||
supportedLocales: AppLocalizations.supportedLocales,
|
||||
home: Scaffold(
|
||||
body: HomeFailureView(onRetry: () {}, showDebugTools: showDebugTools),
|
||||
),
|
||||
home: Scaffold(body: HomeFailureView(onRetry: () {})),
|
||||
),
|
||||
);
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
import 'package:shared_preferences_platform_interface/in_memory_shared_preferences_async.dart';
|
||||
import 'package:shared_preferences_platform_interface/shared_preferences_async_platform_interface.dart';
|
||||
|
||||
import 'package:fruitshorts/core/config/locale_controller.dart';
|
||||
import 'package:fruitshorts/core/config/server_endpoint.dart';
|
||||
import 'package:fruitshorts/core/data/models/drama.dart';
|
||||
import 'package:fruitshorts/core/data/repositories/watch_history_repository.dart';
|
||||
import 'package:fruitshorts/l10n/app_localizations.dart';
|
||||
@@ -25,49 +23,26 @@ void main() {
|
||||
InMemorySharedPreferencesAsync.empty();
|
||||
});
|
||||
|
||||
testWidgets('should_show_server_address_when_debug_entry_is_enabled', (
|
||||
testWidgets('should_not_show_server_address_in_settings_sheet', (
|
||||
tester,
|
||||
) async {
|
||||
await _pumpSettings(tester, showServerSetting: true);
|
||||
expect(find.byKey(const Key('server-endpoint-setting')), findsOneWidget);
|
||||
expect(find.text('Server address'), findsOneWidget);
|
||||
});
|
||||
|
||||
testWidgets('should_hide_server_address_when_debug_entry_is_disabled', (
|
||||
tester,
|
||||
) async {
|
||||
await _pumpSettings(tester, showServerSetting: false);
|
||||
await _pumpSettings(tester);
|
||||
expect(find.byKey(const Key('server-endpoint-setting')), findsNothing);
|
||||
expect(find.text('Server address'), findsNothing);
|
||||
});
|
||||
|
||||
testWidgets('should_reject_invalid_server_address_without_saving', (
|
||||
testWidgets('should_keep_all_three_languages_in_settings_sheet', (
|
||||
tester,
|
||||
) async {
|
||||
await _pumpSettings(tester, showServerSetting: true);
|
||||
await tester.tap(find.byKey(const Key('server-endpoint-setting')));
|
||||
await tester.pumpAndSettle();
|
||||
await _pumpSettings(tester);
|
||||
|
||||
expect(find.text('Restart the app to apply.'), findsOneWidget);
|
||||
await tester.enterText(
|
||||
find.byKey(const Key('server-endpoint-input')),
|
||||
'ftp://invalid',
|
||||
);
|
||||
await tester.tap(find.byKey(const Key('server-endpoint-save')));
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
expect(find.text('Enter a valid http(s) server address.'), findsOneWidget);
|
||||
expect(
|
||||
await SharedPreferencesAsync().getString(ServerEndpoint.preferenceKey),
|
||||
isNull,
|
||||
);
|
||||
expect(find.text('English'), findsOneWidget);
|
||||
expect(find.text('简体中文'), findsOneWidget);
|
||||
expect(find.text('Bahasa Indonesia'), findsOneWidget);
|
||||
});
|
||||
}
|
||||
|
||||
Future<void> _pumpSettings(
|
||||
WidgetTester tester, {
|
||||
required bool showServerSetting,
|
||||
}) async {
|
||||
Future<void> _pumpSettings(WidgetTester tester) async {
|
||||
final logic = MineLogic(
|
||||
history: InMemoryWatchHistoryRepository(),
|
||||
drama: _drama,
|
||||
@@ -85,10 +60,7 @@ Future<void> _pumpSettings(
|
||||
builder: (context) => Scaffold(
|
||||
body: TextButton(
|
||||
key: const Key('open-settings'),
|
||||
onPressed: () => logic.showLanguage(
|
||||
context,
|
||||
showServerSetting: showServerSetting,
|
||||
),
|
||||
onPressed: () => logic.showLanguage(context),
|
||||
child: const Text('Open settings'),
|
||||
),
|
||||
),
|
||||
|
||||
Reference in new issue
Block a user