fix(flutter): 增加首页服务器设置并更新真机默认地址

This commit is contained in:
Zhou Weidong committed 2026-10-17 23:12:47 +08:00
1 parent 9fe62d13cb
commit c4694c6f18
13 files changed
+264 -143

No files matched your search

+4
View File
@@ -56,6 +56,10 @@ void main() {
);
});
test('should_use_the_configured_lan_address_for_device_default', () {
expect(AppConfig.devHostBaseUrl, 'http://10.157.242.1:8081');
});
test('should_apply_stored_url_only_when_debug_is_enabled', () async {
SharedPreferencesAsyncPlatform.instance =
InMemorySharedPreferencesAsync.withData({
+57
View File
@@ -0,0 +1,57 @@
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.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/l10n/app_localizations.dart';
import 'package:fruitshorts/pages/home/home_view.dart';
void main() {
setUp(() {
SharedPreferencesAsyncPlatform.instance =
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', (
tester,
) async {
await _pumpFailureView(tester, showDebugTools: false);
expect(find.byKey(const Key('home-server-settings')), findsNothing);
expect(find.text('Server settings'), findsNothing);
});
}
Future<void> _pumpFailureView(
WidgetTester tester, {
required bool showDebugTools,
}) async {
await tester.pumpWidget(
MaterialApp(
locale: const Locale('en'),
localizationsDelegates: AppLocalizations.localizationsDelegates,
supportedLocales: AppLocalizations.supportedLocales,
home: Scaffold(
body: HomeFailureView(onRetry: () {}, showDebugTools: showDebugTools),
),
),
);
await tester.pumpAndSettle();
}