settings.dart 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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. /// Restore the AppFlowy data storage location
  29. Future<void> restoreLocation() async {
  30. final button =
  31. find.byTooltip(LocaleKeys.settings_files_recoverLocationTooltips.tr());
  32. expect(button, findsOneWidget);
  33. await tapButton(button);
  34. return;
  35. }
  36. Future<void> tapOpenFolderButton() async {
  37. final button = find.text(LocaleKeys.settings_files_open.tr());
  38. expect(button, findsOneWidget);
  39. await tapButton(button);
  40. return;
  41. }
  42. Future<void> tapCustomLocationButton() async {
  43. final button = find.byTooltip(
  44. LocaleKeys.settings_files_changeLocationTooltips.tr(),
  45. );
  46. expect(button, findsOneWidget);
  47. await tapButton(button);
  48. return;
  49. }
  50. /// Enter user name
  51. Future<void> enterUserName(String name) async {
  52. final uni = find.byType(UserNameInput);
  53. expect(uni, findsOneWidget);
  54. await tap(uni);
  55. await enterText(uni, name);
  56. await wait(300); //
  57. await testTextInput.receiveAction(TextInputAction.done);
  58. await pumpAndSettle();
  59. }
  60. }