settings.dart 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. import 'package:appflowy/generated/locale_keys.g.dart';
  2. import 'package:appflowy/workspace/application/settings/prelude.dart';
  3. import 'package:appflowy/workspace/presentation/settings/settings_dialog.dart';
  4. import 'package:appflowy/workspace/presentation/settings/widgets/settings_menu_element.dart';
  5. import 'package:appflowy/workspace/presentation/settings/widgets/settings_user_view.dart';
  6. import 'package:easy_localization/easy_localization.dart';
  7. import 'package:flutter_test/flutter_test.dart';
  8. import 'base.dart';
  9. extension AppFlowySettings on WidgetTester {
  10. /// Open settings page
  11. Future<void> openSettings() async {
  12. final settingsButton = find.byTooltip(LocaleKeys.settings_menu_open.tr());
  13. expect(settingsButton, findsOneWidget);
  14. await tapButton(settingsButton);
  15. final settingsDialog = find.byType(SettingsDialog);
  16. expect(settingsDialog, findsOneWidget);
  17. return;
  18. }
  19. /// Open the page that insides the settings page
  20. Future<void> openSettingsPage(SettingsPage page) async {
  21. final button = find.byWidgetPredicate(
  22. (widget) => widget is SettingsMenuElement && widget.page == page,
  23. );
  24. expect(button, findsOneWidget);
  25. await tapButton(button);
  26. return;
  27. }
  28. Future<void> expectNoSettingsPage(SettingsPage page) async {
  29. final button = find.byWidgetPredicate(
  30. (widget) => widget is SettingsMenuElement && widget.page == page,
  31. );
  32. expect(button, findsNothing);
  33. return;
  34. }
  35. /// Restore the AppFlowy data storage location
  36. Future<void> restoreLocation() async {
  37. final button =
  38. find.byTooltip(LocaleKeys.settings_files_recoverLocationTooltips.tr());
  39. expect(button, findsOneWidget);
  40. await tapButton(button);
  41. return;
  42. }
  43. Future<void> tapOpenFolderButton() async {
  44. final button = find.text(LocaleKeys.settings_files_open.tr());
  45. expect(button, findsOneWidget);
  46. await tapButton(button);
  47. return;
  48. }
  49. Future<void> tapCustomLocationButton() async {
  50. final button = find.byTooltip(
  51. LocaleKeys.settings_files_changeLocationTooltips.tr(),
  52. );
  53. expect(button, findsOneWidget);
  54. await tapButton(button);
  55. return;
  56. }
  57. /// Enter user name
  58. Future<void> enterUserName(String name) async {
  59. final uni = find.byType(UserNameInput);
  60. expect(uni, findsOneWidget);
  61. await tap(uni);
  62. await enterText(uni, name);
  63. await wait(300); //
  64. await testTextInput.receiveAction(TextInputAction.done);
  65. await pumpAndSettle();
  66. }
  67. }