From 42a8512010998a93849712a56d9eda337c528305 Mon Sep 17 00:00:00 2001 From: Haitao Pan Date: Tue, 26 May 2026 11:46:32 +0800 Subject: [PATCH] Add desktop settings integration test --- .../desktop_settings_flow_test.dart | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 integration_test/desktop_settings_flow_test.dart diff --git a/integration_test/desktop_settings_flow_test.dart b/integration_test/desktop_settings_flow_test.dart new file mode 100644 index 00000000..70e107e8 --- /dev/null +++ b/integration_test/desktop_settings_flow_test.dart @@ -0,0 +1,55 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:integration_test/integration_test.dart'; +import 'package:xworkmate/main.dart' as app; + +void main() { + IntegrationTestWidgetsFlutterBinding.ensureInitialized(); + + testWidgets('desktop settings exposes account and archived task panels', ( + tester, + ) async { + tester.view.devicePixelRatio = 1; + tester.view.physicalSize = const Size(1440, 960); + addTearDown(tester.view.resetDevicePixelRatio); + addTearDown(tester.view.resetPhysicalSize); + + await app.main(); + await tester.pumpAndSettle(const Duration(seconds: 2)); + + await tester.tap( + find.byKey(const ValueKey('sidebar-footer-settings')), + ); + await tester.pumpAndSettle(); + + expect( + find.byKey(const ValueKey('settings-account-panel-card')), + findsOneWidget, + ); + expect( + find.byKey(const ValueKey('settings-tab-selector')), + findsOneWidget, + ); + expect(find.byKey(const Key('mobile-settings-page')), findsNothing); + + await tester.tap(find.text('归档任务')); + await tester.pumpAndSettle(); + + expect( + find.byKey(const ValueKey('settings-archived-tasks-panel-card')), + findsOneWidget, + ); + expect( + find.byKey(const ValueKey('settings-archived-tasks-panel')), + findsOneWidget, + ); + + await tester.tap(find.text('集成')); + await tester.pumpAndSettle(); + + expect( + find.byKey(const ValueKey('settings-account-panel-card')), + findsOneWidget, + ); + }); +}